mirror of
				https://github.com/markqvist/OpenModem.git
				synced 2025-10-31 14:39:14 -04:00 
			
		
		
		
	Cleanup
This commit is contained in:
		
							parent
							
								
									bd11c5ee83
								
							
						
					
					
						commit
						c0b73f0155
					
				
					 36 changed files with 1 additions and 3067 deletions
				
			
		|  | @ -1,97 +0,0 @@ | |||
| /**
 | ||||
|  * \file | ||||
|  * <!-- | ||||
|  * This file is part of BeRTOS. | ||||
|  * | ||||
|  * Bertos is free software; you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License as published by | ||||
|  * the Free Software Foundation; either version 2 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * | ||||
|  * This program is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with this program; if not, write to the Free Software | ||||
|  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA | ||||
|  * | ||||
|  * As a special exception, you may use this file as part of a free software | ||||
|  * library without restriction.  Specifically, if other files instantiate | ||||
|  * templates or use macros or inline functions from this file, or you compile | ||||
|  * this file and link it with other files to produce an executable, this | ||||
|  * file does not by itself cause the resulting executable to be covered by | ||||
|  * the GNU General Public License.  This exception does not however | ||||
|  * invalidate any other reasons why the executable file might be covered by | ||||
|  * the GNU General Public License. | ||||
|  * | ||||
|  * Copyright 2010 Develer S.r.l. (http://www.develer.com/)
 | ||||
|  * All Rights Reserved. | ||||
|  * --> | ||||
|  * | ||||
|  * \brief AFSK modem hardware-specific definitions. | ||||
|  * | ||||
|  * | ||||
|  * \author Francesco Sacchi <batt@develer.com> | ||||
|  */ | ||||
| 
 | ||||
| 
 | ||||
| #include "hw_afsk.h" | ||||
| 
 | ||||
| #include <net/afsk.h> | ||||
| #include <cpu/irq.h> | ||||
| 
 | ||||
| #include <avr/io.h> | ||||
| #include <avr/interrupt.h> | ||||
| 
 | ||||
| 
 | ||||
| /*
 | ||||
|  * Here we are using only one modem. If you need to receive | ||||
|  * from multiple modems, you need to define an array of contexts. | ||||
|  */ | ||||
| static Afsk *ctx; | ||||
| 
 | ||||
| void hw_afsk_adcInit(int ch, Afsk *_ctx) | ||||
| { | ||||
| 	ctx = _ctx; | ||||
| 	ASSERT(ch <= 5); | ||||
| 
 | ||||
| 	AFSK_STROBE_INIT(); | ||||
| 	AFSK_STROBE_OFF(); | ||||
| 	/* Set prescaler to clk/8 (2 MHz), CTC, top = ICR1 */ | ||||
| 	TCCR1A = 0; | ||||
| 	TCCR1B = BV(CS11) | BV(WGM13) | BV(WGM12); | ||||
| 	/* Set max value to obtain a 9600Hz freq */ | ||||
| 	ICR1 = ((CPU_FREQ / 8) / 9600) - 1; | ||||
| 
 | ||||
| 	/* Set reference to AVCC (5V), select CH */ | ||||
| 	ADMUX = BV(REFS0) | ch; | ||||
| 
 | ||||
| 	DDRC &= ~BV(ch); | ||||
| 	PORTC &= ~BV(ch); | ||||
| 	DIDR0 |= BV(ch); | ||||
| 
 | ||||
| 	/* Set autotrigger on Timer1 Input capture flag */ | ||||
| 	ADCSRB = BV(ADTS2) | BV(ADTS1) | BV(ADTS0); | ||||
| 	/* Enable ADC, autotrigger, 1MHz, IRQ enabled */ | ||||
| 	/* We are using the ADC a bit out of specifications otherwise it's not fast enough for our
 | ||||
| 	 * purposes */ | ||||
| 	ADCSRA = BV(ADEN) | BV(ADSC) | BV(ADATE) | BV(ADIE) | BV(ADPS2); | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| bool hw_afsk_dac_isr; | ||||
| 
 | ||||
| /*
 | ||||
|  * This is how you declare an ISR. | ||||
|  */ | ||||
| DECLARE_ISR(ADC_vect) | ||||
| { | ||||
| 	TIFR1 = BV(ICF1); | ||||
| 	afsk_adc_isr(ctx, ((int16_t)((ADC) >> 2) - 128)); | ||||
| 	if (hw_afsk_dac_isr) | ||||
| 		PORTD = afsk_dac_isr(ctx) & 0xF0; | ||||
| 	else | ||||
| 		PORTD = 128; | ||||
| } | ||||
|  | @ -1,110 +0,0 @@ | |||
| /**
 | ||||
|  * \file | ||||
|  * <!-- | ||||
|  * This file is part of BeRTOS. | ||||
|  * | ||||
|  * Bertos is free software; you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License as published by | ||||
|  * the Free Software Foundation; either version 2 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * | ||||
|  * This program is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with this program; if not, write to the Free Software | ||||
|  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA | ||||
|  * | ||||
|  * As a special exception, you may use this file as part of a free software | ||||
|  * library without restriction.  Specifically, if other files instantiate | ||||
|  * templates or use macros or inline functions from this file, or you compile | ||||
|  * this file and link it with other files to produce an executable, this | ||||
|  * file does not by itself cause the resulting executable to be covered by | ||||
|  * the GNU General Public License.  This exception does not however | ||||
|  * invalidate any other reasons why the executable file might be covered by | ||||
|  * the GNU General Public License. | ||||
|  * | ||||
|  * Copyright 2006 Develer S.r.l. (http://www.develer.com/)
 | ||||
|  * All Rights Reserved. | ||||
|  * --> | ||||
|  * | ||||
|  * \brief AFSK modem hardware-specific definitions. | ||||
|  * | ||||
|  * | ||||
|  * \author Francesco Sacchi <batt@develer.com> | ||||
|  */ | ||||
| 
 | ||||
| #ifndef HW_AFSK_H | ||||
| #define HW_AFSK_H | ||||
| 
 | ||||
| #include "cfg/cfg_arch.h" | ||||
| 
 | ||||
| #include <avr/io.h> | ||||
| 
 | ||||
| struct Afsk; | ||||
| void hw_afsk_adcInit(int ch, struct Afsk *_ctx); | ||||
| void hw_afsk_dacInit(int ch, struct Afsk *_ctx); | ||||
| 
 | ||||
| /**
 | ||||
|  * Initialize the specified channel of the ADC for AFSK needs. | ||||
|  * The adc should be configured to have a continuos stream of convertions. | ||||
|  * For every convertion there must be an ISR that read the sample | ||||
|  * and call afsk_adc_isr(), passing the context and the sample. | ||||
|  * | ||||
|  * \param ch channel to be used for AFSK demodulation. | ||||
|  * \param ctx AFSK context (\see Afsk). This parameter must be saved and | ||||
|  *            passed back to afsk_adc_isr() for every convertion. | ||||
|  */ | ||||
| 
 | ||||
| /*
 | ||||
|  * This macro will be called for AFSK initialization. We could implement everything here as a macro, | ||||
|  * but since initialization is rather complicated we decided to split its own function. Such function | ||||
|  * is defined in hw_afsk.c. | ||||
|  * Remember: since this .c file is not created by the wizard, you must add it to your_project_name.mk. | ||||
|  * If you create the file using BeRTOS SDK, it will be added for you. | ||||
|  */ | ||||
| #define AFSK_ADC_INIT(ch, ctx) hw_afsk_adcInit(ch, ctx) | ||||
| 
 | ||||
| /*
 | ||||
|  * Activate strobe pin. We use it for debugging purposes. If you don't use it, simply | ||||
|  * leave empty the following macros | ||||
|  */ | ||||
| #define AFSK_STROBE_INIT() do { DDRB |= BV(5); } while (0) | ||||
| 
 | ||||
| /*
 | ||||
|  * Set the pin high. This macro is called at the beginning of the interrupt routine | ||||
|  */ | ||||
| #define AFSK_STROBE_ON()   do { PORTB |= BV(5); } while (0) | ||||
| 
 | ||||
| /*
 | ||||
|  * Set the pin low. This macro is called at the end of the interrupt routine | ||||
|  */ | ||||
| #define AFSK_STROBE_OFF()  do { PORTB &= ~BV(5); } while (0) | ||||
| 
 | ||||
| /**
 | ||||
|  * Initialize the specified channel of the DAC for AFSK needs. | ||||
|  * The DAC has to be configured in order to call an ISR for every sample sent. | ||||
|  * The DAC doesn't have to start the IRQ immediatly but have to wait | ||||
|  * the AFSK driver to call AFSK_DAC_IRQ_START(). | ||||
|  * The ISR must then call afsk_dac_isr() passing the AFSK context. | ||||
|  * \param ch DAC channel to be used for AFSK modulation. | ||||
|  * \param ctx AFSK context (\see Afsk).  This parameter must be saved and | ||||
|  *             passed back to afsk_dac_isr() for every convertion. | ||||
|  */ | ||||
| #define AFSK_DAC_INIT(ch, ctx)   do { (void)ch, (void)ctx; DDRD |= 0xF0; DDRB |= BV(3); } while (0) | ||||
| 
 | ||||
| /**
 | ||||
|  * Start DAC convertions on channel \a ch. | ||||
|  * \param ch DAC channel. | ||||
|  */ | ||||
| #define AFSK_DAC_IRQ_START(ch)   do { (void)ch; extern bool hw_afsk_dac_isr; PORTB |= BV(3); hw_afsk_dac_isr = true; } while (0) | ||||
| 
 | ||||
| /**
 | ||||
|  * Stop DAC convertions on channel \a ch. | ||||
|  * \param ch DAC channel. | ||||
|  */ | ||||
| #define AFSK_DAC_IRQ_STOP(ch)    do { (void)ch; extern bool hw_afsk_dac_isr; PORTB &= ~BV(3); hw_afsk_dac_isr = false; } while (0) | ||||
| 
 | ||||
| #endif /* HW_AFSK_H */ | ||||
|  | @ -1,51 +0,0 @@ | |||
| /**
 | ||||
|  * \file | ||||
|  * <!-- | ||||
|  * This file is part of BeRTOS. | ||||
|  * | ||||
|  * Bertos is free software; you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License as published by | ||||
|  * the Free Software Foundation; either version 2 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * | ||||
|  * This program is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with this program; if not, write to the Free Software | ||||
|  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA | ||||
|  * | ||||
|  * As a special exception, you may use this file as part of a free software | ||||
|  * library without restriction.  Specifically, if other files instantiate | ||||
|  * templates or use macros or inline functions from this file, or you compile | ||||
|  * this file and link it with other files to produce an executable, this | ||||
|  * file does not by itself cause the resulting executable to be covered by | ||||
|  * the GNU General Public License.  This exception does not however | ||||
|  * invalidate any other reasons why the executable file might be covered by | ||||
|  * the GNU General Public License. | ||||
|  * | ||||
|  * Copyright 2003, 2004, 2005, 2006, 2008 Develer S.r.l. (http://www.develer.com/)
 | ||||
|  * Copyright 2000 Bernie Innocenti | ||||
|  * All Rights Reserved. | ||||
|  * --> | ||||
|  * | ||||
|  * \brief Buzzer hardware-specific definitions | ||||
|  * | ||||
|  * | ||||
|  * \author Francesco Sacchi <batt@develer.com> | ||||
|  */ | ||||
| 
 | ||||
| #ifndef HW_BUZZER_H | ||||
| #define HW_BUZZER_H | ||||
| 
 | ||||
| #warning TODO:This is an example implementation, you must implement it! | ||||
| 
 | ||||
| #define BUZZER_BIT      1 | ||||
| #define IS_BUZZER_ON    0 | ||||
| #define BUZZER_HW_INIT  do { /* Implement me! */ } while (0) | ||||
| #define BUZZER_ON       do { /* Implement me! */ } while (0) | ||||
| #define BUZZER_OFF      do { /* Implement me! */ } while (0) | ||||
| 
 | ||||
| #endif /* HW_BUZZER_H */ | ||||
|  | @ -1,125 +0,0 @@ | |||
| /**
 | ||||
|  * \file | ||||
|  * <!-- | ||||
|  * This file is part of BeRTOS. | ||||
|  * | ||||
|  * Bertos is free software; you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License as published by | ||||
|  * the Free Software Foundation; either version 2 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * | ||||
|  * This program is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with this program; if not, write to the Free Software | ||||
|  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA | ||||
|  * | ||||
|  * As a special exception, you may use this file as part of a free software | ||||
|  * library without restriction.  Specifically, if other files instantiate | ||||
|  * templates or use macros or inline functions from this file, or you compile | ||||
|  * this file and link it with other files to produce an executable, this | ||||
|  * file does not by itself cause the resulting executable to be covered by | ||||
|  * the GNU General Public License.  This exception does not however | ||||
|  * invalidate any other reasons why the executable file might be covered by | ||||
|  * the GNU General Public License. | ||||
|  * | ||||
|  * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
 | ||||
|  * All Rights Reserved. | ||||
|  * --> | ||||
|  * | ||||
|  * \brief Dataflash HW control routines. | ||||
|  * | ||||
|  * \author Francesco Sacchi <batt@develer.com> | ||||
|  */ | ||||
| 
 | ||||
| #include "hw/hw_dataflash.h" | ||||
| 
 | ||||
| #include <cfg/compiler.h> | ||||
| #include <cfg/module.h> | ||||
| #include <cfg/macros.h> | ||||
| 
 | ||||
| #warning TODO:This is an example implementation, you must implement it! | ||||
| 
 | ||||
| MOD_DEFINE(hw_dataflash); | ||||
| 
 | ||||
| /**
 | ||||
|  * Data flash init function. | ||||
|  * | ||||
|  * This function provide to initialize all that | ||||
|  * needs to drive a dataflash memory. | ||||
|  * Generaly needs to init pins to drive a CS line | ||||
|  * and reset line. | ||||
|  */ | ||||
| void dataflash_hw_init(void) | ||||
| { | ||||
| 
 | ||||
|     //Disable CS line (remove if not needed)
 | ||||
| 	dataflash_hw_setCS(false); | ||||
| 
 | ||||
| 	/*
 | ||||
| 	 * Put here your code! | ||||
| 	 * | ||||
| 	 * Note: | ||||
| 	 * - if you drive manualy CS line, here init a CS pin | ||||
| 	 * - if you use a dedicated reset line, here init a reset pin | ||||
| 	 */ | ||||
| 
 | ||||
| 	MOD_INIT(hw_dataflash); | ||||
| } | ||||
| 
 | ||||
| /**
 | ||||
|  * Chip Select drive. | ||||
|  * | ||||
|  * This function enable or disable a CS line. | ||||
|  * You must implement this function comply to a dataflash | ||||
|  * memory datasheet to allow the drive to enable a memory | ||||
|  * when \p enable flag is true, and disable it when is false. | ||||
|  */ | ||||
| void dataflash_hw_setCS(bool enable) | ||||
| { | ||||
| 	if (enable) | ||||
| 	{ | ||||
| 		/*
 | ||||
| 		 * Put here your code to enable | ||||
| 		 * dataflash memory | ||||
| 		 */ | ||||
| 	} | ||||
| 	else | ||||
| 	{ | ||||
| 		/*
 | ||||
| 		 * Put here your code to disable | ||||
| 		 * dataflash memory | ||||
| 		 */ | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| /**
 | ||||
|  * Reset data flash memory. | ||||
|  * | ||||
|  * This function provide to send reset signal to | ||||
|  * dataflash memory. You must impement it comly to a dataflash | ||||
|  * memory datasheet to allow the drive to set a reset pin | ||||
|  * when \p enable flag is true, and disable it when is false. | ||||
|  * | ||||
|  */ | ||||
| void dataflash_hw_setReset(bool enable) | ||||
| { | ||||
| 	if (enable) | ||||
| 	{ | ||||
| 		/*
 | ||||
| 		 * Put here your code to set reset of | ||||
| 		 * dataflash memory | ||||
| 		 */ | ||||
| 	} | ||||
| 	else | ||||
| 	{ | ||||
| 		/*
 | ||||
| 		 * Put here your code to clear reset of | ||||
| 		 * dataflash memory | ||||
| 		 */ | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
|  | @ -1,47 +0,0 @@ | |||
| /**
 | ||||
|  * \file | ||||
|  * <!-- | ||||
|  * This file is part of BeRTOS. | ||||
|  * | ||||
|  * Bertos is free software; you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License as published by | ||||
|  * the Free Software Foundation; either version 2 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * | ||||
|  * This program is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with this program; if not, write to the Free Software | ||||
|  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA | ||||
|  * | ||||
|  * As a special exception, you may use this file as part of a free software | ||||
|  * library without restriction.  Specifically, if other files instantiate | ||||
|  * templates or use macros or inline functions from this file, or you compile | ||||
|  * this file and link it with other files to produce an executable, this | ||||
|  * file does not by itself cause the resulting executable to be covered by | ||||
|  * the GNU General Public License.  This exception does not however | ||||
|  * invalidate any other reasons why the executable file might be covered by | ||||
|  * the GNU General Public License. | ||||
|  * | ||||
|  * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
 | ||||
|  * All Rights Reserved. | ||||
|  * --> | ||||
|  * | ||||
|  * \brief Dataflash HW control routines (interface). | ||||
|  * | ||||
|  * \author Francesco Sacchi <batt@develer.com> | ||||
|  */ | ||||
| 
 | ||||
| #ifndef HW_DATAFLASH_H | ||||
| #define HW_DATAFLASH_H | ||||
| 
 | ||||
| #include <cfg/compiler.h> | ||||
| 
 | ||||
| void dataflash_hw_init(void); | ||||
| void dataflash_hw_setCS(bool enable); | ||||
| void dataflash_hw_setReset(bool enable); | ||||
| 
 | ||||
| #endif /* HW_DATAFLASH_H */ | ||||
|  | @ -1,84 +0,0 @@ | |||
| /**
 | ||||
|  * \file | ||||
|  * <!-- | ||||
|  * This file is part of BeRTOS. | ||||
|  * | ||||
|  * Bertos is free software; you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License as published by | ||||
|  * the Free Software Foundation; either version 2 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * | ||||
|  * This program is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with this program; if not, write to the Free Software | ||||
|  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA | ||||
|  * | ||||
|  * As a special exception, you may use this file as part of a free software | ||||
|  * library without restriction.  Specifically, if other files instantiate | ||||
|  * templates or use macros or inline functions from this file, or you compile | ||||
|  * this file and link it with other files to produce an executable, this | ||||
|  * file does not by itself cause the resulting executable to be covered by | ||||
|  * the GNU General Public License.  This exception does not however | ||||
|  * invalidate any other reasons why the executable file might be covered by | ||||
|  * the GNU General Public License. | ||||
|  * | ||||
|  * Copyright 2006 Develer S.r.l. (http://www.develer.com/)
 | ||||
|  * All Rights Reserved. | ||||
|  * --> | ||||
|  * | ||||
|  * \brief DC motor hardware-specific definitions | ||||
|  * | ||||
|  * | ||||
|  * \author Daniele Basile <asterix@develer.com> | ||||
|  */ | ||||
| 
 | ||||
| #ifndef HW_DC_MOTOR_H | ||||
| #define HW_DC_MOTOR_H | ||||
| 
 | ||||
| typedef enum MotorDCMap | ||||
| { | ||||
| 
 | ||||
| 	/* Put here motor dc declaration */ | ||||
| 	MOTOR_DC_CNT | ||||
| 
 | ||||
| } MotorDCMap; | ||||
| 
 | ||||
| /*
 | ||||
|  * Init all pin and device to manage dc motor. | ||||
|  */ | ||||
| #define MOTOR_DC_INIT() \ | ||||
|     do { \ | ||||
| 		/* Implement me! */ \ | ||||
|     } while (0) | ||||
| 
 | ||||
| 
 | ||||
| /*
 | ||||
|  * Enable DC motor. | ||||
|  */ | ||||
| #define DC_MOTOR_ENABLE(dev) \ | ||||
| 	do { \ | ||||
| 		/* Implement me! */ \ | ||||
| 	} while (0) | ||||
| 
 | ||||
| /*
 | ||||
|  * Disable DC motor. | ||||
|  */ | ||||
| #define DC_MOTOR_DISABLE(dev) \ | ||||
| 	do { \ | ||||
| 		/* Implement me! */ \ | ||||
| 	} while (0) | ||||
| 
 | ||||
| /*
 | ||||
|  * Set direction for DC motor. | ||||
|  */ | ||||
| #define DC_MOTOR_SET_DIR(dev, dir) \ | ||||
| 	do { \ | ||||
| 		/* Implement me! */ \ | ||||
| 	} while (0) | ||||
| 
 | ||||
| 
 | ||||
| #endif /* HW_DC_MOTOR_H */ | ||||
|  | @ -1,64 +0,0 @@ | |||
| /**
 | ||||
|  * \file | ||||
|  * <!-- | ||||
|  * This file is part of BeRTOS. | ||||
|  * | ||||
|  * Bertos is free software; you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License as published by | ||||
|  * the Free Software Foundation; either version 2 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * | ||||
|  * This program is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with this program; if not, write to the Free Software | ||||
|  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA | ||||
|  * | ||||
|  * As a special exception, you may use this file as part of a free software | ||||
|  * library without restriction.  Specifically, if other files instantiate | ||||
|  * templates or use macros or inline functions from this file, or you compile | ||||
|  * this file and link it with other files to produce an executable, this | ||||
|  * file does not by itself cause the resulting executable to be covered by | ||||
|  * the GNU General Public License.  This exception does not however | ||||
|  * invalidate any other reasons why the executable file might be covered by | ||||
|  * the GNU General Public License. | ||||
|  * | ||||
|  * Copyright 2006 Develer S.r.l. (http://www.develer.com/)
 | ||||
|  * All Rights Reserved. | ||||
|  * --> | ||||
|  * | ||||
|  * \brief FT245RL USB interface hardware-specific definitions | ||||
|  * | ||||
|  * | ||||
|  * \author Francesco Sacchi <batt@develer.com> | ||||
|  */ | ||||
| 
 | ||||
| #ifndef HW_FT245RL_H | ||||
| #define HW_FT245RL_H | ||||
| 
 | ||||
| #warning TODO:This is an example implementation, you must implement it! | ||||
| 
 | ||||
| #define FT245RL_DATA_IN() /* Implement me! */ | ||||
| #define FT245RL_DATA_OUT() /* Implement me! */ | ||||
| #define WR_HI /* Implement me! */ | ||||
| #define WR_LO /* Implement me! */ | ||||
| 
 | ||||
| #define RD_HI /* Implement me! */ | ||||
| #define RD_LO /* Implement me! */ | ||||
| 
 | ||||
| #define FT245RL_INIT() \ | ||||
| do \ | ||||
| { \ | ||||
| 	/* Implement me! */ \ | ||||
| } while(0) | ||||
| 
 | ||||
| #define FT245RL_DATA_RDY() (/* Implement me! */ false) | ||||
| #define FT245RL_GETDATA() ({/* Implement me! */ (0);}) | ||||
| #define FT245RL_TX_ALLOWED() (/* Implement me! */ false) | ||||
| #define FT245RL_SETDATA(data) do {/* Implement me! */ (void)((data)); } while(0) | ||||
| 
 | ||||
| #endif /* HW_FT245RL_H */ | ||||
| 
 | ||||
|  | @ -1,127 +0,0 @@ | |||
| /**
 | ||||
|  * \file | ||||
|  * <!-- | ||||
|  * This file is part of BeRTOS. | ||||
|  * | ||||
|  * Bertos is free software; you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License as published by | ||||
|  * the Free Software Foundation; either version 2 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * | ||||
|  * This program is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with this program; if not, write to the Free Software | ||||
|  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA | ||||
|  * | ||||
|  * As a special exception, you may use this file as part of a free software | ||||
|  * library without restriction.  Specifically, if other files instantiate | ||||
|  * templates or use macros or inline functions from this file, or you compile | ||||
|  * this file and link it with other files to produce an executable, this | ||||
|  * file does not by itself cause the resulting executable to be covered by | ||||
|  * the GNU General Public License.  This exception does not however | ||||
|  * invalidate any other reasons why the executable file might be covered by | ||||
|  * the GNU General Public License. | ||||
|  * | ||||
|  * Copyright 2003, 2004, 2006, 2008 Develer S.r.l. (http://www.develer.com/)
 | ||||
|  * Copyright 2000 Bernie Innocenti <bernie@codewiz.org> | ||||
|  * All Rights Reserved. | ||||
|  * --> | ||||
|  * | ||||
|  * \brief Macro for I2C bitbang operation. | ||||
|  * | ||||
|  * | ||||
|  * | ||||
|  * \author Francesco Sacchi <batt@develer.com> | ||||
|  */ | ||||
| 
 | ||||
| #ifndef HW_I2C_BITBANG_H | ||||
| #define HW_I2C_BITBANG_H | ||||
| 
 | ||||
| #warning TODO:This is an example implementation, you must implement it! | ||||
| 
 | ||||
| #define SDA_HI  do { /* Implement me:Set SDA High by setting SDA pin as input */ } while (0) | ||||
| #define SDA_LO  do { /* Implement me:Set SDA Low by setting SDA pin as open collector output */ } while (0) | ||||
| #define SCL_HI  do { /* Implement me:Set SCL High by setting SCL pin as input */ } while (0) | ||||
| #define SCL_LO  do { /* Implement me:Set SCL Low by setting SCL pin as open collector output */ } while (0) | ||||
| 
 | ||||
| 
 | ||||
| #define SCL_IN       (true) /* Implement me: read SDA pin state */ | ||||
| #define SDA_IN       (true) /* Implement me: read SCL pin state */ | ||||
| 
 | ||||
| /**
 | ||||
|  * This macro should set SDA and SCL lines as input. | ||||
|  */ | ||||
| #define I2C_BITBANG_HW_INIT do { /* Implement me! */ } while (0) | ||||
| 
 | ||||
| /**
 | ||||
|  * Half bit delay routine used to generate the correct timings. | ||||
|  */ | ||||
| #define I2C_HALFBIT_DELAY() do { /* Implement me! */ } while (0) | ||||
| 
 | ||||
| 
 | ||||
| /*
 | ||||
|  * New api | ||||
|  */ | ||||
| #include <cfg/compiler.h> | ||||
| 
 | ||||
| INLINE void i2c_sdaHi(int dev) | ||||
| { | ||||
| 	(void)(dev); | ||||
| 	/* Implement me:Set SDA High by setting SDA pin as input */ | ||||
| } | ||||
| 
 | ||||
| INLINE void i2c_sdaLo(int dev) | ||||
| { | ||||
| 	(void)(dev); | ||||
| 	/* Implement me:Set SDA Low by setting SDA pin as open collector output */ | ||||
| } | ||||
| 
 | ||||
| INLINE void i2c_sclHi(int dev) | ||||
| { | ||||
| 	(void)(dev); | ||||
| 	/* Implement me:Set SCL High by setting SCL pin as input */ | ||||
| } | ||||
| 
 | ||||
| INLINE void i2c_sclLo(int dev) | ||||
| { | ||||
| 	(void)(dev); | ||||
| 	/* Implement me:Set SCL Low by setting SCL pin as open collector output */ | ||||
| } | ||||
| 
 | ||||
| INLINE bool i2c_sdaIn(int dev) | ||||
| { | ||||
| 	(void)(dev); | ||||
| 	/* Implement me: read SDA pin state */ | ||||
| 	return true; | ||||
| } | ||||
| 
 | ||||
| INLINE bool i2c_sclIn(int dev) | ||||
| { | ||||
| 	(void)(dev); | ||||
| 	/* Implement me: read SCL pin state */ | ||||
| 	return true; | ||||
| } | ||||
| 
 | ||||
| /**
 | ||||
|  * Half bit delay routine used to generate the correct timings. | ||||
|  */ | ||||
| INLINE void i2c_halfbitDelay(int dev) | ||||
| { | ||||
| 	(void)(dev); | ||||
| 	/* Implement me! */ | ||||
| } | ||||
| 
 | ||||
| /**
 | ||||
|  * This macro should set SDA and SCL lines as input. | ||||
|  */ | ||||
| INLINE void i2c_bitbangInit(int dev) | ||||
| { | ||||
| 	(void)(dev); | ||||
| 	/* Implement me! */ | ||||
| } | ||||
| 
 | ||||
| #endif /* HW_I2C_BITBANG_H */ | ||||
|  | @ -1,71 +0,0 @@ | |||
| /**
 | ||||
|  * \file | ||||
|  * <!-- | ||||
|  * This file is part of BeRTOS. | ||||
|  * | ||||
|  * Bertos is free software; you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License as published by | ||||
|  * the Free Software Foundation; either version 2 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * | ||||
|  * This program is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with this program; if not, write to the Free Software | ||||
|  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA | ||||
|  * | ||||
|  * As a special exception, you may use this file as part of a free software | ||||
|  * library without restriction.  Specifically, if other files instantiate | ||||
|  * templates or use macros or inline functions from this file, or you compile | ||||
|  * this file and link it with other files to produce an executable, this | ||||
|  * file does not by itself cause the resulting executable to be covered by | ||||
|  * the GNU General Public License.  This exception does not however | ||||
|  * invalidate any other reasons why the executable file might be covered by | ||||
|  * the GNU General Public License. | ||||
|  * | ||||
|  * Copyright 2003, 2004, 2005, 2006, 2008 Develer S.r.l. (http://www.develer.com/)
 | ||||
|  * Copyright 2000 Bernie Innocenti | ||||
|  * All Rights Reserved. | ||||
|  * --> | ||||
|  * | ||||
|  * \brief Keyboard hardware-specific definitions | ||||
|  * | ||||
|  * | ||||
|  * \author Francesco Sacchi <batt@develer.com> | ||||
|  * \author Stefano Fedrigo <a@develer.com> | ||||
|  */ | ||||
| 
 | ||||
| #ifndef HW_KBD_H | ||||
| #define HW_KBD_H | ||||
| 
 | ||||
| #include "hw/kbd_map.h" | ||||
| 
 | ||||
| #include <cfg/macros.h> | ||||
| 
 | ||||
| #warning TODO:This is an example implementation, you must implement it! | ||||
| 
 | ||||
| #define K_RPT_MASK (K_UP | K_DOWN | K_OK | K_CANCEL) | ||||
| 
 | ||||
| #define KBD_HW_INIT \ | ||||
| 	do { \ | ||||
| 			/* Put here code to init hw */ \ | ||||
| 	} while (0) | ||||
| 
 | ||||
| EXTERN_C int emul_kbdReadCols(void); | ||||
| 
 | ||||
| /**
 | ||||
|  * Read the keyboard ports and return the mask of | ||||
|  * depressed keys. | ||||
|  */ | ||||
| INLINE keymask_t kbd_readkeys(void) | ||||
| { | ||||
| 	/* Implement me! */ | ||||
| 
 | ||||
| 	//Only for test remove when implement this function
 | ||||
| 	return 0; | ||||
| } | ||||
| 
 | ||||
| #endif /* HW_KBD_H */ | ||||
|  | @ -1,155 +0,0 @@ | |||
| /**
 | ||||
|  * \file | ||||
|  * <!-- | ||||
|  * This file is part of BeRTOS. | ||||
|  * | ||||
|  * Bertos is free software; you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License as published by | ||||
|  * the Free Software Foundation; either version 2 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * | ||||
|  * This program is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with this program; if not, write to the Free Software | ||||
|  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA | ||||
|  * | ||||
|  * As a special exception, you may use this file as part of a free software | ||||
|  * library without restriction.  Specifically, if other files instantiate | ||||
|  * templates or use macros or inline functions from this file, or you compile | ||||
|  * this file and link it with other files to produce an executable, this | ||||
|  * file does not by itself cause the resulting executable to be covered by | ||||
|  * the GNU General Public License.  This exception does not however | ||||
|  * invalidate any other reasons why the executable file might be covered by | ||||
|  * the GNU General Public License. | ||||
|  * | ||||
|  * Copyright 2003, 2004, 2005, 2006, 2010 Develer S.r.l. (http://www.develer.com/)
 | ||||
|  * Copyright 2001 Bernie Innocenti <bernie@codewiz.org> | ||||
|  * | ||||
|  * --> | ||||
|  * | ||||
|  * \brief Displaytech 32122A LCD driver | ||||
|  * | ||||
|  * \author Bernie Innocenti <bernie@codewiz.org> | ||||
|  * \author Stefano Fedrigo <aleph@develer.com> | ||||
|  * | ||||
|  */ | ||||
| 
 | ||||
| #ifndef HW_LCD_32122A_H | ||||
| #define HW_LCD_32122A_H | ||||
| 
 | ||||
| #include <cpu/types.h> | ||||
| #include <cpu/irq.h> | ||||
| 
 | ||||
| #warning TODO:This is an example implementation, you must implement it! | ||||
| 
 | ||||
| /**
 | ||||
|  * Predefined LCD PWM contrast values | ||||
|  */ | ||||
| #define LCD_DEF_PWM 145 | ||||
| #define LCD_MAX_PWM 505 | ||||
| #define LCD_MIN_PWM 130 | ||||
| #define LCD_PWM_CH    0 | ||||
| 
 | ||||
| 
 | ||||
| /**
 | ||||
|  * \name LCD I/O pins/ports | ||||
|  * @{ | ||||
|  */ | ||||
| #define LCD_RS    /* Implement me! */ | ||||
| #define LCD_RW    /* Implement me! */ | ||||
| #define LCD_PE_E1    /* Implement me! */ | ||||
| #define LCD_PE_E2    /* Implement me! */ | ||||
| #define LCD_DB0   /* Implement me! */ | ||||
| #define LCD_DB1   /* Implement me! */ | ||||
| #define LCD_DB2   /* Implement me! */ | ||||
| #define LCD_DB3   /* Implement me! */ | ||||
| #define LCD_DB4   /* Implement me! */ | ||||
| #define LCD_DB5   /* Implement me! */ | ||||
| #define LCD_DB6   /* Implement me! */ | ||||
| #define LCD_DB7   /* Implement me! */ | ||||
| #define LCD_PF_DB0   /* Implment me! */ | ||||
| /*@}*/ | ||||
| 
 | ||||
| /**
 | ||||
|  * \name LCD bus control macros | ||||
|  * @{ | ||||
|  */ | ||||
| #define LCD_CLR_A0                do { /* Implement me! */ } while (0) | ||||
| #define LCD_SET_A0                do { /* Implement me! */ } while (0) | ||||
| #define LCD_CLR_RD                do { /* Implement me! */ } while (0) | ||||
| #define LCD_SET_RD                do { /* Implement me! */ } while (0) | ||||
| #define LCD_CLR_E1                do { /* Implement me! */ } while (0) | ||||
| #define LCD_SET_E1                do { /* Implement me! */ } while (0) | ||||
| #define LCD_CLR_E2                do { /* Implement me! */ } while (0) | ||||
| #define LCD_SET_E2                do { /* Implement me! */ } while (0) | ||||
| #define LCD_SET_E(x)              do { (void)x; /* Implement me! */ } while (0) | ||||
| #define LCD_CLR_E(x)              do { (void)x; /* Implement me! */ } while (0) | ||||
| /*@}*/ | ||||
| 
 | ||||
| /**
 | ||||
|  * \name Chip select bits for LCD_SET_E() | ||||
|  * @{ | ||||
|  */ | ||||
| #define LCDF_E1                   ( 0/* Implement me! */) | ||||
| #define LCDF_E2                   ( 0/* Implement me! */) | ||||
| /*@}*/ | ||||
| /** Read from the LCD data bus (DB[0-7]) */ | ||||
| #define LCD_WRITE(x)    ((void)x)/* Implement me! */ | ||||
| /** Write to the LCD data bus (DB[0-7]) */ | ||||
| #define LCD_READ        (0 /* Implement me! */ ) | ||||
| 
 | ||||
| /** Set data bus direction to output (write to display) */ | ||||
| #define LCD_DB_OUT          /* Implement me! */ | ||||
| 
 | ||||
| /** Set data bus direction to input (read from display) */ | ||||
| #define LCD_DB_IN           /* Implement me! */ | ||||
| 
 | ||||
| /** Delay for write (Enable pulse width, 220ns) */ | ||||
| #define LCD_DELAY_WRITE \ | ||||
| 	do { \ | ||||
| 		NOP; \ | ||||
| 		NOP; \ | ||||
| 		NOP; \ | ||||
| 		NOP; \ | ||||
| 		NOP; \ | ||||
| 	} while (0) | ||||
| 
 | ||||
| /** Delay for read (Data ouput delay time, 120ns) */ | ||||
| #define LCD_DELAY_READ \ | ||||
| 	do { \ | ||||
| 		NOP; \ | ||||
| 		NOP; \ | ||||
| 		NOP; \ | ||||
| 		NOP; \ | ||||
| 	} while (0) | ||||
| 
 | ||||
| 
 | ||||
| #define LCD_32122_RESET()         do { /* Implement me! */ } while (0) | ||||
| 
 | ||||
| INLINE void lcd_32122a_hw_bus_init(void) | ||||
| { | ||||
| 	cpu_flags_t flags; | ||||
| 	IRQ_SAVE_DISABLE(flags); | ||||
| 
 | ||||
| 	/*
 | ||||
| 	 * Here set bus pin! | ||||
| 	 * to init a lcd device. | ||||
| 	 * | ||||
| 	 */ | ||||
| 
 | ||||
| 	/*
 | ||||
| 	 * Data bus is in output state most of the time: | ||||
| 	 * LCD r/w functions assume it is left in output state | ||||
| 	 */ | ||||
| 	LCD_DB_OUT; | ||||
| 
 | ||||
| 
 | ||||
| 	IRQ_RESTORE(flags); | ||||
| } | ||||
| 
 | ||||
| #endif /* HW_LCD_32122A_H */ | ||||
| 
 | ||||
|  | @ -1,157 +0,0 @@ | |||
| /**
 | ||||
|  * \file | ||||
|  * <!-- | ||||
|  * This file is part of BeRTOS. | ||||
|  * | ||||
|  * Bertos is free software; you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License as published by | ||||
|  * the Free Software Foundation; either version 2 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * | ||||
|  * This program is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with this program; if not, write to the Free Software | ||||
|  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA | ||||
|  * | ||||
|  * As a special exception, you may use this file as part of a free software | ||||
|  * library without restriction.  Specifically, if other files instantiate | ||||
|  * templates or use macros or inline functions from this file, or you compile | ||||
|  * this file and link it with other files to produce an executable, this | ||||
|  * file does not by itself cause the resulting executable to be covered by | ||||
|  * the GNU General Public License.  This exception does not however | ||||
|  * invalidate any other reasons why the executable file might be covered by | ||||
|  * the GNU General Public License. | ||||
|  * | ||||
|  * Copyright 2003, 2004, 2005, 2008 Develer S.r.l. (http://www.develer.com/)
 | ||||
|  * Copyright 2001 Bernie Innocenti <bernie@codewiz.org> | ||||
|  * | ||||
|  * --> | ||||
|  * | ||||
|  * \brief LCD low-level hardware macros | ||||
|  * | ||||
|  * \author Bernie Innocenti <bernie@codewiz.org> | ||||
|  * \author Stefano Fedrigo <aleph@develer.com> | ||||
|  * | ||||
|  */ | ||||
| 
 | ||||
| #ifndef HW_LCD_HD44_H | ||||
| #define HW_LCD_HD44_H | ||||
| 
 | ||||
| #include "cfg/cfg_lcd_hd44.h"  /* CONFIG_LCD_4BIT */ | ||||
| 
 | ||||
| #include <cpu/types.h> | ||||
| #include <cpu/irq.h> | ||||
| 
 | ||||
| #warning TODO:This is an example implementation, you must implement it! | ||||
| 
 | ||||
| /**
 | ||||
|  * \name LCD I/O pins/ports | ||||
|  * @{ | ||||
|  */ | ||||
| #define LCD_RS    /* Implement me! */ | ||||
| #define LCD_RW    /* Implement me! */ | ||||
| #define LCD_E     /* Implement me! */ | ||||
| #define LCD_DB0   /* Implement me! */ | ||||
| #define LCD_DB1   /* Implement me! */ | ||||
| #define LCD_DB2   /* Implement me! */ | ||||
| #define LCD_DB3   /* Implement me! */ | ||||
| #define LCD_DB4   /* Implement me! */ | ||||
| #define LCD_DB5   /* Implement me! */ | ||||
| #define LCD_DB6   /* Implement me! */ | ||||
| #define LCD_DB7   /* Implement me! */ | ||||
| /*@}*/ | ||||
| 
 | ||||
| /**
 | ||||
|  * \name DB high nibble (DB[4-7]) | ||||
|  * @{ | ||||
|  */ | ||||
| 
 | ||||
| #if CONFIG_LCD_4BIT | ||||
| 	#define LCD_MASK    (LCD_DB7 | LCD_DB6 | LCD_DB5 | LCD_DB4) | ||||
| 	#define LCD_SHIFT   4 | ||||
| #else | ||||
| 	#define LCD_MASK (uint8_t)0xff | ||||
| 	#define LCD_SHIFT 0 | ||||
| #endif | ||||
| /*@}*/ | ||||
| 
 | ||||
| /**
 | ||||
|  * \name LCD bus control macros | ||||
|  * @{ | ||||
|  */ | ||||
| #define LCD_CLR_RS      /* Implement me! */ | ||||
| #define LCD_SET_RS      /* Implement me! */ | ||||
| #define LCD_CLR_RD      /* Implement me! */ | ||||
| #define LCD_SET_RD      /* Implement me! */ | ||||
| #define LCD_CLR_E       /* Implement me! */ | ||||
| #define LCD_SET_E       /* Implement me! */ | ||||
| 
 | ||||
| /* Enter command mode */ | ||||
| #define LCD_SET_COMMAND() /* Implement me! */ | ||||
| 
 | ||||
| /* Enter data mode */ | ||||
| #define LCD_SET_DATA() /* Implement me! */ | ||||
| 
 | ||||
| #if CONFIG_LCD_4BIT | ||||
| 	#define LCD_WRITE_H(x)  ((void)x)/* Implement me! */ | ||||
| 	#define LCD_WRITE_L(x)  ((void)x)/* Implement me! */ | ||||
| 	#define LCD_READ_H      ( 0 /* Implement me! */ ) | ||||
| 	#define LCD_READ_L      ( 0 /* Implement me! */ ) | ||||
| #else | ||||
| 	#define LCD_WRITE(x)    ((void)x)/* Implement me! */ | ||||
| 	#define LCD_READ        (0 /* Implement me! */ ) | ||||
| #endif | ||||
| /*@}*/ | ||||
| 
 | ||||
| /** Set data bus direction to output (write to display) */ | ||||
| #define LCD_DB_OUT          /* Implement me! */ | ||||
| 
 | ||||
| /** Set data bus direction to input (read from display) */ | ||||
| #define LCD_DB_IN           /* Implement me! */ | ||||
| /** Delay for write (Enable pulse width, 220ns) */ | ||||
| #define LCD_DELAY_WRITE \ | ||||
| 	do { \ | ||||
| 		NOP; \ | ||||
| 		NOP; \ | ||||
| 		NOP; \ | ||||
| 		NOP; \ | ||||
| 		NOP; \ | ||||
| 	} while (0) | ||||
| 
 | ||||
| /** Delay for read (Data ouput delay time, 120ns) */ | ||||
| #define LCD_DELAY_READ \ | ||||
| 	do { \ | ||||
| 		NOP; \ | ||||
| 		NOP; \ | ||||
| 		NOP; \ | ||||
| 		NOP; \ | ||||
| 	} while (0) | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| INLINE void lcd_hd44_hw_bus_init(void) | ||||
| { | ||||
| 	cpu_flags_t flags; | ||||
| 	IRQ_SAVE_DISABLE(flags); | ||||
| 
 | ||||
| 	/*
 | ||||
| 	 * Here set bus pin! | ||||
| 	 * to init a lcd device. | ||||
| 	 * | ||||
| 	 */ | ||||
| 
 | ||||
| 	/*
 | ||||
| 	 * Data bus is in output state most of the time: | ||||
| 	 * LCD r/w functions assume it is left in output state | ||||
| 	 */ | ||||
| 	LCD_DB_OUT; | ||||
| 
 | ||||
| 
 | ||||
| 	IRQ_RESTORE(flags); | ||||
| } | ||||
| 
 | ||||
| #endif /* HW_LCD_HD44_H */ | ||||
|  | @ -1,47 +0,0 @@ | |||
| /**
 | ||||
|  * \file | ||||
|  * <!-- | ||||
|  * This file is part of BeRTOS. | ||||
|  * | ||||
|  * Bertos is free software; you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License as published by | ||||
|  * the Free Software Foundation; either version 2 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * | ||||
|  * This program is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with this program; if not, write to the Free Software | ||||
|  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA | ||||
|  * | ||||
|  * As a special exception, you may use this file as part of a free software | ||||
|  * library without restriction.  Specifically, if other files instantiate | ||||
|  * templates or use macros or inline functions from this file, or you compile | ||||
|  * this file and link it with other files to produce an executable, this | ||||
|  * file does not by itself cause the resulting executable to be covered by | ||||
|  * the GNU General Public License.  This exception does not however | ||||
|  * invalidate any other reasons why the executable file might be covered by | ||||
|  * the GNU General Public License. | ||||
|  * | ||||
|  * Copyright 2010 Develer S.r.l. (http://www.develer.com/)
 | ||||
|  * All Rights Reserved. | ||||
|  * --> | ||||
|  * | ||||
|  * \brief Led on/off macros. | ||||
|  * | ||||
|  * \author Daniele Basile <asterix@develer.com> | ||||
|  */ | ||||
| 
 | ||||
| #ifndef HW_LED_H | ||||
| #define HW_LED_H | ||||
| 
 | ||||
| #include <avr/io.h> | ||||
| 
 | ||||
| #define LED_ON()    PORTB |= BV(5) | ||||
| #define LED_OFF()   PORTB &= ~BV(5) | ||||
| #define LED_INIT()  DDRB |= BV(5) | ||||
| 
 | ||||
| #endif /* HW_LED_H */ | ||||
|  | @ -1,49 +0,0 @@ | |||
| /**
 | ||||
|  * \file | ||||
|  * <!-- | ||||
|  * This file is part of BeRTOS. | ||||
|  * | ||||
|  * Bertos is free software; you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License as published by | ||||
|  * the Free Software Foundation; either version 2 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * | ||||
|  * This program is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with this program; if not, write to the Free Software | ||||
|  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA | ||||
|  * | ||||
|  * As a special exception, you may use this file as part of a free software | ||||
|  * library without restriction.  Specifically, if other files instantiate | ||||
|  * templates or use macros or inline functions from this file, or you compile | ||||
|  * this file and link it with other files to produce an executable, this | ||||
|  * file does not by itself cause the resulting executable to be covered by | ||||
|  * the GNU General Public License.  This exception does not however | ||||
|  * invalidate any other reasons why the executable file might be covered by | ||||
|  * the GNU General Public License. | ||||
|  * | ||||
|  * Copyright 2009 Develer S.r.l. (http://www.develer.com/)
 | ||||
|  * All Rights Reserved. | ||||
|  * --> | ||||
|  * | ||||
|  * \brief Hardware macro definition. | ||||
|  * | ||||
|  * \author Daniele Basile <asterix@develer.com> | ||||
|  */ | ||||
| 
 | ||||
| #ifndef HW_LM75_H | ||||
| #define HW_LM75_H | ||||
| 
 | ||||
| #warning TODO:This is an example implentation, you must implement it! | ||||
| 
 | ||||
| #define LM75_HW_INIT() \ | ||||
| 	do { \ | ||||
| 	/* Pin init */\ | ||||
| 	} while (0) | ||||
| 
 | ||||
| #endif /* HW_LM75_H */ | ||||
| 
 | ||||
|  | @ -1,52 +0,0 @@ | |||
| /**
 | ||||
|  * \file | ||||
|  * <!-- | ||||
|  * This file is part of BeRTOS. | ||||
|  * | ||||
|  * Bertos is free software; you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License as published by | ||||
|  * the Free Software Foundation; either version 2 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * | ||||
|  * This program is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with this program; if not, write to the Free Software | ||||
|  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA | ||||
|  * | ||||
|  * As a special exception, you may use this file as part of a free software | ||||
|  * library without restriction.  Specifically, if other files instantiate | ||||
|  * templates or use macros or inline functions from this file, or you compile | ||||
|  * this file and link it with other files to produce an executable, this | ||||
|  * file does not by itself cause the resulting executable to be covered by | ||||
|  * the GNU General Public License.  This exception does not however | ||||
|  * invalidate any other reasons why the executable file might be covered by | ||||
|  * the GNU General Public License. | ||||
|  * | ||||
|  * Copyright 2006 Develer S.r.l. (http://www.develer.com/)
 | ||||
|  * --> | ||||
|  * | ||||
|  * \brief MCP41 hardware-specific definitions | ||||
|  * | ||||
|  * \author Francesco Sacchi <batt@develer.com> | ||||
|  */ | ||||
| 
 | ||||
| #include "hw/hw_mcp41.h" | ||||
| 
 | ||||
| #include <cfg/macros.h> | ||||
| #include <cfg/compiler.h> | ||||
| 
 | ||||
| #warning TODO:This is an example implementation, you must implement it! | ||||
| 
 | ||||
| const uint16_t mcp41_ports[MCP41_CNT] =  | ||||
| { | ||||
| 		0, /* add here mcp41 ports */  | ||||
| }; | ||||
| const uint8_t  mcp41_pins [MCP41_CNT] =  | ||||
| { | ||||
| 		0, /* add here mcp41 ports */  | ||||
| }; | ||||
| 
 | ||||
|  | @ -1,74 +0,0 @@ | |||
| /**
 | ||||
|  * \file | ||||
|  * <!-- | ||||
|  * This file is part of BeRTOS. | ||||
|  * | ||||
|  * Bertos is free software; you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License as published by | ||||
|  * the Free Software Foundation; either version 2 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * | ||||
|  * This program is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with this program; if not, write to the Free Software | ||||
|  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA | ||||
|  * | ||||
|  * As a special exception, you may use this file as part of a free software | ||||
|  * library without restriction.  Specifically, if other files instantiate | ||||
|  * templates or use macros or inline functions from this file, or you compile | ||||
|  * this file and link it with other files to produce an executable, this | ||||
|  * file does not by itself cause the resulting executable to be covered by | ||||
|  * the GNU General Public License.  This exception does not however | ||||
|  * invalidate any other reasons why the executable file might be covered by | ||||
|  * the GNU General Public License. | ||||
|  * | ||||
|  * Copyright 2005 Develer S.r.l. (http://www.develer.com/)
 | ||||
|  * --> | ||||
|  * | ||||
|  * \brief MCP41 hardware-specific definitions | ||||
|  * | ||||
|  * \author Francesco Sacchi <batt@develer.com> | ||||
|  */ | ||||
| 
 | ||||
| #ifndef HW_MCP41_H | ||||
| #define HW_MCP41_H | ||||
| 
 | ||||
| #include "hw/mcp41_map.h" | ||||
| 
 | ||||
| #include <cfg/compiler.h> | ||||
| 
 | ||||
| 
 | ||||
| #warning TODO:This is an example implementation, you must implement it! | ||||
| 
 | ||||
| 
 | ||||
| INLINE void SET_MCP41_DDR(Mcp41Dev dev) | ||||
| { | ||||
| 		/* Implement me! */ | ||||
| 		//Warning: this funtions is like avr target name,
 | ||||
| 		//fix it to comply for all target.
 | ||||
| 
 | ||||
| 		//Only for test remove when implement this function
 | ||||
| 		(void)dev; | ||||
| } | ||||
| 
 | ||||
| INLINE void MCP41_ON(Mcp41Dev i) | ||||
| { | ||||
| 		/* Implement me! */ | ||||
| 
 | ||||
| 		//Only for test remove when implement this function
 | ||||
| 		(void)i; | ||||
| } | ||||
| 
 | ||||
| INLINE void MCP41_OFF(Mcp41Dev i) | ||||
| { | ||||
| 		/* Implement me! */ | ||||
| 
 | ||||
| 		//Only for test remove when implement this function
 | ||||
| 		(void)i; | ||||
| } | ||||
| 
 | ||||
| #endif /* HW_MCP41_H */ | ||||
|  | @ -1,45 +0,0 @@ | |||
| /**
 | ||||
|  * \file | ||||
|  * <!-- | ||||
|  * This file is part of BeRTOS. | ||||
|  * | ||||
|  * Bertos is free software; you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License as published by | ||||
|  * the Free Software Foundation; either version 2 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * | ||||
|  * This program is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with this program; if not, write to the Free Software | ||||
|  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA | ||||
|  * | ||||
|  * As a special exception, you may use this file as part of a free software | ||||
|  * library without restriction.  Specifically, if other files instantiate | ||||
|  * templates or use macros or inline functions from this file, or you compile | ||||
|  * this file and link it with other files to produce an executable, this | ||||
|  * file does not by itself cause the resulting executable to be covered by | ||||
|  * the GNU General Public License.  This exception does not however | ||||
|  * invalidate any other reasons why the executable file might be covered by | ||||
|  * the GNU General Public License. | ||||
|  * | ||||
|  * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
 | ||||
|  * All Rights Reserved. | ||||
|  * --> | ||||
|  * | ||||
|  * \brief NTC hardware-specific definition | ||||
|  * | ||||
|  * \author Lorenzo Berni <duplo@develer.com> | ||||
|  *  | ||||
|  */ | ||||
| 
 | ||||
| #include <drv/ntc.h> | ||||
| #include "hw/ntc_map.h" | ||||
| 
 | ||||
| const res_t      NTC_RSER[NTC_CNT]; | ||||
| const res_t      NTC_RPAR[NTC_CNT]; | ||||
| const amp_t      NTC_AMP[NTC_CNT]; | ||||
| const NtcHwInfo* NTC_INFO[NTC_CNT]; | ||||
|  | @ -1,135 +0,0 @@ | |||
| /**
 | ||||
|  * \file | ||||
|  * <!-- | ||||
|  * This file is part of BeRTOS. | ||||
|  * | ||||
|  * Bertos is free software; you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License as published by | ||||
|  * the Free Software Foundation; either version 2 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * | ||||
|  * This program is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with this program; if not, write to the Free Software | ||||
|  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA | ||||
|  * | ||||
|  * As a special exception, you may use this file as part of a free software | ||||
|  * library without restriction.  Specifically, if other files instantiate | ||||
|  * templates or use macros or inline functions from this file, or you compile | ||||
|  * this file and link it with other files to produce an executable, this | ||||
|  * file does not by itself cause the resulting executable to be covered by | ||||
|  * the GNU General Public License.  This exception does not however | ||||
|  * invalidate any other reasons why the executable file might be covered by | ||||
|  * the GNU General Public License. | ||||
|  * | ||||
|  * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
 | ||||
|  * All Rights Reserved. | ||||
|  * --> | ||||
|  * | ||||
|  * \brief NTC hardware-specific definition | ||||
|  * | ||||
|  * \author Francesco Sacchi <batt@develer.com> | ||||
|  * | ||||
|  * A NTC acts as a variable resistor, whose resistance changes as a | ||||
|  * function of the temperature it measures. To sample it correctly, it is | ||||
|  * usually parallelized and serialized with two fixed resistor. The following diagram shows | ||||
|  * what is the exact disposition of the components, as handled by this | ||||
|  * library: | ||||
|  * | ||||
|  *<pre> | ||||
|  *                 o Vref | ||||
|  *                 | | ||||
|  *                 |                               o Vref | ||||
|  *                 |                               | | ||||
|  *               -----                             | | ||||
|  *              |     |                        --------- | ||||
|  *              | Rser|                       |         | | ||||
|  *              |     |                       |         | | ||||
|  *               -----     -----              |   ADC   | | ||||
|  *                 | Vp   |     |             |         | | ||||
|  *      -----------|------| Amp |-------------|         | | ||||
|  *     |           |      |     |      Vadc   |         | | ||||
|  *   -----       -----     -----               --------- | ||||
|  *  |     |     |     | | ||||
|  *  | NTC |     | Rpar| | ||||
|  *  |     |     |     | | ||||
|  *   -----       ----- | ||||
|  *     |           | | ||||
|  *     |           | | ||||
|  *   -----       ----- | ||||
|  *    ---         --- | ||||
|  *</pre> | ||||
|  * Amp is an amplifier that amplify of AMP times the signal. | ||||
|  * If we indicate Rp as the parallel of NTC with Rpar, ADCBITS as the bits of the ad converter | ||||
|  * and ADCVAL as the result from the adc convertion (Not Vadc but just the value read | ||||
|  * from the adc register), after various calculation, the expression of Rp is: | ||||
|  * | ||||
|  *<pre> | ||||
|  * | ||||
|  *            ADCVAL * Rser | ||||
|  * Rp = ------------------------ | ||||
|  *         ADCBITS | ||||
|  *	2         * AMP - ADCVAL | ||||
|  *</pre> | ||||
|  * | ||||
|  * And after that NTC obvisiously is: | ||||
|  *<pre> | ||||
|  *        Rpar * Rp | ||||
|  * NTC = ---------- | ||||
|  *        Rpar - Rp | ||||
|  *</pre> | ||||
|  * | ||||
|  * | ||||
|  * The function ntc_hw_read() compute the resistence using these formulas above. | ||||
|  */ | ||||
| 
 | ||||
| #ifndef HW_NTC_H | ||||
| #define HW_NTC_H | ||||
| 
 | ||||
| #include "ntc_map.h" | ||||
| 
 | ||||
| #include <cfg/debug.h> | ||||
| 
 | ||||
| #include <drv/ntc.h> | ||||
| #include <drv/adc.h> | ||||
| 
 | ||||
| #warning TODO:This is an example implementation, you must implement it! | ||||
| 
 | ||||
| extern const res_t      NTC_RSER[NTC_CNT]; | ||||
| extern const res_t      NTC_RPAR[NTC_CNT]; | ||||
| extern const amp_t      NTC_AMP[NTC_CNT]; | ||||
| extern const NtcHwInfo* NTC_INFO[NTC_CNT]; | ||||
| 
 | ||||
| 
 | ||||
| /*!
 | ||||
|  * Read the resistence of ntc device \a dev. | ||||
|  * Return the result in res_t type. | ||||
|  */ | ||||
| INLINE res_t ntc_hw_read(NtcDev dev) | ||||
| { | ||||
| 	ASSERT(dev < NTC_CNT); | ||||
| 	// See above for formula explanation.
 | ||||
| 	adcread_t adcval = adc_read((uint16_t)dev); | ||||
| 	float rp = (adcval * NTC_RSER[dev] ) / ((1 << adc_bits()) * NTC_AMP[dev] - adcval); | ||||
| 
 | ||||
| 	//kprintf("Rp[%f], Rntc[%f]\n", rp/100, ((NTC_RPAR[dev] * rp) / (NTC_RPAR[dev] - rp)) / 100.0);
 | ||||
| 
 | ||||
| 	return ( (NTC_RPAR[dev] * rp) / (NTC_RPAR[dev] - rp) ); | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| /*!
 | ||||
|  * Return the info (aka the table) associated with ntc device \a dev. | ||||
|  */ | ||||
| INLINE const NtcHwInfo* ntc_hw_getInfo(NtcDev dev) | ||||
| { | ||||
| 	return NTC_INFO[dev]; | ||||
| } | ||||
| 
 | ||||
| #define NTC_HW_INIT	do  { /* Implement me! */ } while(0) | ||||
| 
 | ||||
| #endif /* HW_NTC_H */ | ||||
|  | @ -1,45 +0,0 @@ | |||
| /**
 | ||||
|  * \file | ||||
|  * <!-- | ||||
|  * This file is part of BeRTOS. | ||||
|  * | ||||
|  * Bertos is free software; you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License as published by | ||||
|  * the Free Software Foundation; either version 2 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * | ||||
|  * This program is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with this program; if not, write to the Free Software | ||||
|  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA | ||||
|  * | ||||
|  * As a special exception, you may use this file as part of a free software | ||||
|  * library without restriction.  Specifically, if other files instantiate | ||||
|  * templates or use macros or inline functions from this file, or you compile | ||||
|  * this file and link it with other files to produce an executable, this | ||||
|  * file does not by itself cause the resulting executable to be covered by | ||||
|  * the GNU General Public License.  This exception does not however | ||||
|  * invalidate any other reasons why the executable file might be covered by | ||||
|  * the GNU General Public License. | ||||
|  * | ||||
|  * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
 | ||||
|  * All Rights Reserved. | ||||
|  * --> | ||||
|  * | ||||
|  * \brief Phase control hardware-specific definitions | ||||
|  * | ||||
|  * \author Francesco Sacchi <batt@develer.com> | ||||
|  */ | ||||
| 
 | ||||
| #ifndef HW_PHASE_H | ||||
| #define HW_PHASE_H | ||||
| 
 | ||||
| #include "hw/hw_phase.h" | ||||
| 
 | ||||
| #warning TODO:This is an example implementation, you must implement it! | ||||
| 
 | ||||
| #endif /* HW_PHASE_H */ | ||||
|  | @ -1,79 +0,0 @@ | |||
| /**
 | ||||
|  * \file | ||||
|  * <!-- | ||||
|  * This file is part of BeRTOS. | ||||
|  * | ||||
|  * Bertos is free software; you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License as published by | ||||
|  * the Free Software Foundation; either version 2 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * | ||||
|  * This program is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with this program; if not, write to the Free Software | ||||
|  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA | ||||
|  * | ||||
|  * As a special exception, you may use this file as part of a free software | ||||
|  * library without restriction.  Specifically, if other files instantiate | ||||
|  * templates or use macros or inline functions from this file, or you compile | ||||
|  * this file and link it with other files to produce an executable, this | ||||
|  * file does not by itself cause the resulting executable to be covered by | ||||
|  * the GNU General Public License.  This exception does not however | ||||
|  * invalidate any other reasons why the executable file might be covered by | ||||
|  * the GNU General Public License. | ||||
|  * | ||||
|  * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
 | ||||
|  * | ||||
|  * --> | ||||
|  * | ||||
|  * \brief Phase control hardware-specific definitions | ||||
|  * | ||||
|  * | ||||
|  * \author Francesco Sacchi <batt@develer.com> | ||||
|  */ | ||||
| 
 | ||||
| #ifndef HW_PHASE_H | ||||
| #define HW_PHASE_H | ||||
| 
 | ||||
| #include "hw/phase_map.h" | ||||
| 
 | ||||
| #include <cfg/compiler.h> | ||||
| 
 | ||||
| #warning TODO:This is an example implementation, you must implement it! | ||||
| 
 | ||||
| #define PHASE_HW_INIT  do { /* Implement me! */ }while (0) | ||||
| 
 | ||||
| INLINE void TRIAC_OFF(TriacDev i) | ||||
| { | ||||
| 		/* Implement me! */ | ||||
| 
 | ||||
| 		//Only for test remove when implement this function
 | ||||
| 		(void)i; | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| INLINE void TRIAC_ON(TriacDev i) | ||||
| { | ||||
| 		/* Implement me! */ | ||||
| 
 | ||||
| 		//Only for test remove when implement this function
 | ||||
| 		(void)i; | ||||
| } | ||||
| 
 | ||||
| INLINE void SET_TRIAC_DDR(TriacDev i) | ||||
| { | ||||
| 		/* Implement me! */ | ||||
| 
 | ||||
| 		//Only for test remove when implement this function
 | ||||
| 		(void)i; | ||||
| } | ||||
| 
 | ||||
| void zerocross_isr(void); | ||||
| #define DEFINE_ZEROCROSS_ISR() void zerocross_isr(void) | ||||
| 
 | ||||
| 
 | ||||
| #endif /* HW_PHASE_H */ | ||||
|  | @ -1,78 +0,0 @@ | |||
| /**
 | ||||
|  * \file | ||||
|  * <!-- | ||||
|  * This file is part of BeRTOS. | ||||
|  * | ||||
|  * Bertos is free software; you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License as published by | ||||
|  * the Free Software Foundation; either version 2 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * | ||||
|  * This program is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with this program; if not, write to the Free Software | ||||
|  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA | ||||
|  * | ||||
|  * As a special exception, you may use this file as part of a free software | ||||
|  * library without restriction.  Specifically, if other files instantiate | ||||
|  * templates or use macros or inline functions from this file, or you compile | ||||
|  * this file and link it with other files to produce an executable, this | ||||
|  * file does not by itself cause the resulting executable to be covered by | ||||
|  * the GNU General Public License.  This exception does not however | ||||
|  * invalidate any other reasons why the executable file might be covered by | ||||
|  * the GNU General Public License. | ||||
|  * | ||||
|  * Copyright 2010 Develer S.r.l. (http://www.develer.com/)
 | ||||
|  * | ||||
|  * --> | ||||
|  * | ||||
|  * \brief LM3S1986: OLED-RIT-128x96 (P14201) low-level hardware macros | ||||
|  * | ||||
|  * \author Andrea Righi <arighi@develer.com> | ||||
|  */ | ||||
| 
 | ||||
| #ifndef HW_RIT128x96_H | ||||
| #define HW_RIT128x96_H | ||||
| 
 | ||||
| #include "cfg/macros.h"   /* BV() */ | ||||
| #include "cfg/debug.h" | ||||
| 
 | ||||
| #include <cpu/attr.h> | ||||
| #include <cpu/irq.h> | ||||
| #include <cpu/types.h> | ||||
| 
 | ||||
| /**
 | ||||
|  * \name LCD I/O pins/ports | ||||
|  * @{ | ||||
|  */ | ||||
| /* OLED Data/Command control pin */ | ||||
| #define GPIO_OLEDDC_PIN 0 /* Implement me! */ | ||||
| 
 | ||||
| /* OLED enable pin */ | ||||
| #define GPIO_OLEDEN_PIN 0 /* Implement me! */ | ||||
| /*@}*/ | ||||
| 
 | ||||
| /**
 | ||||
|  * \name LCD bus control macros | ||||
|  * @{ | ||||
|  */ | ||||
| /* Enter command mode */ | ||||
| #define LCD_SET_COMMAND() /* Implement me! */ | ||||
| 
 | ||||
| /* Enter data mode */ | ||||
| #define LCD_SET_DATA() /* Implement me! */ | ||||
| 
 | ||||
| /* Send data to the display */ | ||||
| #define LCD_WRITE(x)    ((void)x)/* Implement me! */ | ||||
| /*@}*/ | ||||
| 
 | ||||
| INLINE void lcd_rit128x96_hw_bus_init(void) | ||||
| { | ||||
| 	/* Implement me! */ | ||||
| } | ||||
| 
 | ||||
| #endif /* HW_RIT128x96_H */ | ||||
|  | @ -1,52 +0,0 @@ | |||
| /**
 | ||||
|  * \file | ||||
|  * <!-- | ||||
|  * This file is part of BeRTOS. | ||||
|  * | ||||
|  * Bertos is free software; you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License as published by | ||||
|  * the Free Software Foundation; either version 2 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * | ||||
|  * This program is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with this program; if not, write to the Free Software | ||||
|  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA | ||||
|  * | ||||
|  * As a special exception, you may use this file as part of a free software | ||||
|  * library without restriction.  Specifically, if other files instantiate | ||||
|  * templates or use macros or inline functions from this file, or you compile | ||||
|  * this file and link it with other files to produce an executable, this | ||||
|  * file does not by itself cause the resulting executable to be covered by | ||||
|  * the GNU General Public License.  This exception does not however | ||||
|  * invalidate any other reasons why the executable file might be covered by | ||||
|  * the GNU General Public License. | ||||
|  * | ||||
|  * Copyright 2009 Develer S.r.l. (http://www.develer.com/)
 | ||||
|  * All Rights Reserved. | ||||
|  * --> | ||||
|  * | ||||
|  * \brief SD driver hardware-specific definitions. | ||||
|  * | ||||
|  * | ||||
|  * \author Luca Ottaviano <lottaviano@develer.com> | ||||
|  */ | ||||
| 
 | ||||
| #ifndef HW_SD_H | ||||
| #define HW_SD_H | ||||
| 
 | ||||
| #warning FIXME: This is an example implementation, you must implement it | ||||
| 
 | ||||
| #define SD_CS_INIT() do { /* implement me */} while(0) | ||||
| #define SD_CS_ON()   do { /* implement me */} while(0) | ||||
| #define SD_CS_OFF()  do { /* implement me */} while(0) | ||||
| 
 | ||||
| #define SD_PIN_INIT()      do { /* implement me */} while(0) | ||||
| #define SD_CARD_PRESENT()  true /* implement me */ | ||||
| #define SD_WRITE_PROTECT() false /* implement me */ | ||||
| 
 | ||||
| #endif /* HW_SD_H */ | ||||
|  | @ -1,52 +0,0 @@ | |||
| /**
 | ||||
|  * \file | ||||
|  * <!-- | ||||
|  * This file is part of BeRTOS. | ||||
|  * | ||||
|  * Bertos is free software; you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License as published by | ||||
|  * the Free Software Foundation; either version 2 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * | ||||
|  * This program is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with this program; if not, write to the Free Software | ||||
|  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA | ||||
|  * | ||||
|  * As a special exception, you may use this file as part of a free software | ||||
|  * library without restriction.  Specifically, if other files instantiate | ||||
|  * templates or use macros or inline functions from this file, or you compile | ||||
|  * this file and link it with other files to produce an executable, this | ||||
|  * file does not by itself cause the resulting executable to be covered by | ||||
|  * the GNU General Public License.  This exception does not however | ||||
|  * invalidate any other reasons why the executable file might be covered by | ||||
|  * the GNU General Public License. | ||||
|  * | ||||
|  * Copyright 2006 Develer S.r.l. (http://www.develer.com/)
 | ||||
|  * All Rights Reserved. | ||||
|  * --> | ||||
|  * | ||||
|  * \brief Serial hardware-specific definitions | ||||
|  * | ||||
|  * | ||||
|  * \author Daniele Basile <asterix@develer.com> | ||||
|  */ | ||||
| 
 | ||||
| #ifndef HW_SER_H | ||||
| #define HW_SER_H | ||||
| 
 | ||||
| #include "cfg/cfg_ser.h" | ||||
| 
 | ||||
| #if CONFIG_SER_STROBE | ||||
| 	#warning FIXME: this is an example implementation, you must implement it | ||||
| 
 | ||||
| 	#define SER_STROBE_INIT do { /* implement me */ } while (0) | ||||
| 	#define SER_STROBE_ON do { /* implement me */ } while (0) | ||||
| 	#define SER_STROBE_OFF do { /* implement me */ } while (0) | ||||
| #endif | ||||
| 
 | ||||
| #endif /* HW_SER_H */ | ||||
|  | @ -1,108 +0,0 @@ | |||
| /**
 | ||||
|  * \file | ||||
|  * <!-- | ||||
|  * This file is part of BeRTOS. | ||||
|  * | ||||
|  * Bertos is free software; you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License as published by | ||||
|  * the Free Software Foundation; either version 2 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * | ||||
|  * This program is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with this program; if not, write to the Free Software | ||||
|  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA | ||||
|  * | ||||
|  * As a special exception, you may use this file as part of a free software | ||||
|  * library without restriction.  Specifically, if other files instantiate | ||||
|  * templates or use macros or inline functions from this file, or you compile | ||||
|  * this file and link it with other files to produce an executable, this | ||||
|  * file does not by itself cause the resulting executable to be covered by | ||||
|  * the GNU General Public License.  This exception does not however | ||||
|  * invalidate any other reasons why the executable file might be covered by | ||||
|  * the GNU General Public License. | ||||
|  * | ||||
|  * Copyright 2003, 2004, 2006, 2008, 2009 Develer S.r.l. (http://www.develer.com/)
 | ||||
|  * Copyright 2000 Bernie Innocenti <bernie@codewiz.org> | ||||
|  * All Rights Reserved. | ||||
|  * --> | ||||
|  * | ||||
|  * \brief Macro for HW_SIPO_H | ||||
|  * | ||||
|  * | ||||
|  * | ||||
|  * \author Andrea Grandi <andrea@develer.com> | ||||
|  * \author Daniele Basile <asterix@develer.com> | ||||
|  */ | ||||
| 
 | ||||
| #ifndef HW_SIPO_H | ||||
| #define HW_SIPO_H | ||||
| 
 | ||||
| /**
 | ||||
|  * Map sipo connection on board. | ||||
|  */ | ||||
| typedef enum SipoMap | ||||
| { | ||||
| 	SIPO_CNT | ||||
| } SipoMap; | ||||
| 
 | ||||
| /**
 | ||||
|  * Define generic macro to set pins logic level | ||||
|  */ | ||||
| #define SIPO_SET_LEVEL_LOW(dev)    do { /* Implement me! */   } while (0) | ||||
| #define SIPO_SET_LEVEL_HIGH(dev)   do { /* Implement me! */   } while (0) | ||||
| 
 | ||||
| 
 | ||||
| /**
 | ||||
|  * Generate one low pulse on select line. | ||||
|  */ | ||||
| #define PULSE_LOW(dev)    do { /* Implement me! */   } while (0) | ||||
| 
 | ||||
| /**
 | ||||
|  * Generate one hight pulse on select line. | ||||
|  */ | ||||
| #define PULSE_HIGH(dev)     do { /* Implement me! */   } while (0) | ||||
| 
 | ||||
| 
 | ||||
| /**
 | ||||
|  * Define the procedure to drive serial input in sipo device (SI). | ||||
|  */ | ||||
| #define SIPO_SI_HIGH()   do { /* Implement me! */   } while (0) | ||||
| #define SIPO_SI_LOW()    do { /* Implement me! */   } while (0) | ||||
| 
 | ||||
| /**
 | ||||
|  * Drive clock to shift SI data into latch. | ||||
|  */ | ||||
| #define SIPO_SI_CLOCK(clk_pol) \ | ||||
| 	do { \ | ||||
| 		(void)clk_pol; \ | ||||
| 		/* Implement me! */ \ | ||||
| 	} while (0) | ||||
| 
 | ||||
| /**
 | ||||
|  * Do everything needed in order to load dato into sipo. | ||||
|  */ | ||||
| #define SIPO_LOAD(device, load_pol)   do { /* Implement me! */   } while (0) | ||||
| 
 | ||||
| /**
 | ||||
|  * Enable the shift register output. | ||||
|  */ | ||||
| #define SIPO_ENABLE()             do { /* Implement me! */   } while (0) | ||||
| 
 | ||||
| /**
 | ||||
|  * Set polarity for Load, Clk, SI signals. | ||||
|  */ | ||||
| #define SIPO_SET_LD_LEVEL(device, load_pol)  do { /* Implement me! */   } while (0) | ||||
| #define SIPO_SET_CLK_LEVEL(clock_pol)        do { /* Implement me! */   } while (0) | ||||
| #define SIPO_SET_SI_LEVEL()       do { /* Implement me! */   } while (0) | ||||
| 
 | ||||
| /**
 | ||||
|  * Do anything that needed to init sipo pins. | ||||
|  */ | ||||
| #define SIPO_INIT_PIN()           do { /* Implement me! */   } while (0) | ||||
| 
 | ||||
| #endif /* HW_SIPO_H */ | ||||
|  | @ -1,114 +0,0 @@ | |||
| /**
 | ||||
|  * \file | ||||
|  * <!-- | ||||
|  * This file is part of BeRTOS. | ||||
|  * | ||||
|  * Bertos is free software; you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License as published by | ||||
|  * the Free Software Foundation; either version 2 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * | ||||
|  * This program is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with this program; if not, write to the Free Software | ||||
|  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA | ||||
|  * | ||||
|  * As a special exception, you may use this file as part of a free software | ||||
|  * library without restriction.  Specifically, if other files instantiate | ||||
|  * templates or use macros or inline functions from this file, or you compile | ||||
|  * this file and link it with other files to produce an executable, this | ||||
|  * file does not by itself cause the resulting executable to be covered by | ||||
|  * the GNU General Public License.  This exception does not however | ||||
|  * invalidate any other reasons why the executable file might be covered by | ||||
|  * the GNU General Public License. | ||||
|  * | ||||
|  * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
 | ||||
|  * All Rights Reserved. | ||||
|  * --> | ||||
|  * | ||||
|  * \brief Hardware macro definition. | ||||
|  * | ||||
|  * | ||||
|  * \author Daniele Basile <asterix@develer.com> | ||||
|  */ | ||||
| 
 | ||||
| #ifndef HW_SPI_H | ||||
| #define HW_SPI_H | ||||
| 
 | ||||
| #warning TODO:This is an example implentation, you must implement it! | ||||
| 
 | ||||
| #include <cfg/macros.h> | ||||
| 
 | ||||
| /**
 | ||||
|  * SPI pin definition. | ||||
|  * | ||||
|  * \note CS is assert when level | ||||
|  * is low. | ||||
|  * | ||||
|  * \{ | ||||
|  */ | ||||
| #define CS       /* pin */   ///Connect to CS pin of Flash memory.
 | ||||
| #define SCK      /* pin */   ///Connect to SCK pin of Flash memory.
 | ||||
| #define MOSI     /* pin */   ///Connect to SI pin of Flash memory.
 | ||||
| #define MISO     /* pin */   ///Connect to SO pin of Flash memory.
 | ||||
| #define SPI_PORT /* pin */   ///Micro pin PORT register.
 | ||||
| #define SPI_PIN  /* pin */   ///Micro pin PIN register.
 | ||||
| #define SPI_DDR  /* pin */   ///Micro pin DDR register.
 | ||||
| /*\}*/ | ||||
| 
 | ||||
| /**
 | ||||
|  * Pin logic level. | ||||
|  * | ||||
|  * \{ | ||||
|  */ | ||||
| #define MOSI_LOW()       do { /* Implement me! */ } while(0) | ||||
| #define MOSI_HIGH()      do { /* Implement me! */ } while(0) | ||||
| #define MISO_HIGH()      do { /* Implement me! */ } while(0) | ||||
| #define SCK_LOW()        do { /* Implement me! */ } while(0) | ||||
| #define SCK_HIGH()       do { /* Implement me! */ } while(0) | ||||
| #define CS_LOW()         do { /* Implement me! */ } while(0) | ||||
| #define CS_HIGH()        do { /* Implement me! */ } while(0) | ||||
| /*\}*/ | ||||
| 
 | ||||
| /**
 | ||||
|  * SPI pin commands. | ||||
|  * | ||||
|  * \{ | ||||
|  */ | ||||
| #define CS_ENABLE()      CS_LOW() | ||||
| #define CS_DISABLE()     CS_HIGH() | ||||
| #define SS_ACTIVE()      CS_LOW() | ||||
| #define SS_INACTIVE()    CS_HIGH() | ||||
| #define SCK_INACTIVE()   SCK_LOW() | ||||
| #define SCK_ACTIVE()     SCK_HIGH() | ||||
| #define CS_OUT()         do { /* Implement me! */ } while(0) | ||||
| #define MOSI_IN()        do { /* Implement me! */ } while(0) | ||||
| #define MOSI_OUT()       do { /* Implement me! */ } while(0) | ||||
| #define IS_MISO_HIGH()	 (false /* Implement me! */ ) | ||||
| #define MISO_IN()        do { /* Implement me! */ } while(0) | ||||
| #define MISO_OUT()       do { /* Implement me! */ } while(0) | ||||
| #define SCK_OUT()        do { /* Implement me! */ } while(0) | ||||
| 
 | ||||
| #define SCK_PULSE()\ | ||||
| 	do {\ | ||||
| 			SCK_HIGH();\ | ||||
| 			SCK_LOW();\ | ||||
| 	} while (0) | ||||
| /*\}*/ | ||||
| 
 | ||||
| 
 | ||||
| #define SPI_HW_INIT() \ | ||||
| 	CS_DISABLE();\ | ||||
| 	MOSI_LOW();\ | ||||
| 	SCK_LOW();\ | ||||
| 	MISO_IN();\ | ||||
| 	MOSI_OUT();\ | ||||
| 	SCK_OUT();\ | ||||
| 	CS_OUT(); | ||||
| 
 | ||||
| #endif /* HW_SPI_H */ | ||||
| 
 | ||||
|  | @ -1,308 +0,0 @@ | |||
| /**
 | ||||
|  * \file | ||||
|  * <!-- | ||||
|  * This file is part of BeRTOS. | ||||
|  * | ||||
|  * Bertos is free software; you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License as published by | ||||
|  * the Free Software Foundation; either version 2 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * | ||||
|  * This program is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with this program; if not, write to the Free Software | ||||
|  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA | ||||
|  * | ||||
|  * As a special exception, you may use this file as part of a free software | ||||
|  * library without restriction.  Specifically, if other files instantiate | ||||
|  * templates or use macros or inline functions from this file, or you compile | ||||
|  * this file and link it with other files to produce an executable, this | ||||
|  * file does not by itself cause the resulting executable to be covered by | ||||
|  * the GNU General Public License.  This exception does not however | ||||
|  * invalidate any other reasons why the executable file might be covered by | ||||
|  * the GNU General Public License. | ||||
|  * | ||||
|  * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
 | ||||
|  * All Rights Reserved. | ||||
|  * --> | ||||
|  * | ||||
|  * \brief Stepper hardware-specific definitions | ||||
|  * | ||||
|  * | ||||
|  * \author Daniele Basile <asterix@develer.com> | ||||
|  */ | ||||
| 
 | ||||
| 
 | ||||
| #ifndef HW_STEPPER_H | ||||
| #define HW_STEPPER_H | ||||
| 
 | ||||
| #include <hw/hw_cpufreq.h> | ||||
| 
 | ||||
| #include <cfg/macros.h> | ||||
| 
 | ||||
| #include <drv/timer.h> | ||||
| 
 | ||||
| #warning TODO:This is an example implentation, you must implement it! | ||||
| 
 | ||||
| #define STEPPER_STROBE_INIT \ | ||||
| do { \ | ||||
| 		/* put init code for strobe */ \ | ||||
| } while (0) | ||||
| 
 | ||||
| 
 | ||||
| #define STEPPER_STROBE_ON       do { /* Implement me! */ } while(0) | ||||
| #define STEPPER_STROBE_OFF      do { /* Implement me! */ } while(0) | ||||
| 
 | ||||
| /**
 | ||||
|  * CPU clock frequency is divided by 2^STEPPER_PRESCALER_LOG2 to | ||||
|  * obtain stepper clock. | ||||
|  */ | ||||
| #define STEPPER_PRESCALER_LOG2    1 | ||||
| 
 | ||||
| /**
 | ||||
|  * Stepper timer clock frequency. | ||||
|  */ | ||||
| #define STEPPER_CLOCK ((CPU_FREQ) >> STEPPER_PRESCALER_LOG2) | ||||
| 
 | ||||
| /**
 | ||||
|  * us delay to reset a stepper motor. | ||||
|  * This is the time neccessary to reset | ||||
|  * the stepper controll chip. (see datasheet for more detail). | ||||
|  */ | ||||
| #define STEPPER_RESET_DELAY 1 | ||||
| 
 | ||||
| /*
 | ||||
|  * Pins define for each stepper | ||||
|  */ | ||||
| #define STEPPER_1_CW_CCW_PIN             0 | ||||
| #define STEPPER_1_HALF_FULL_PIN          0 | ||||
| #define STEPPER_1_CONTROL_PIN            0 | ||||
| #define STEPPER_1_ENABLE_PIN             0 | ||||
| #define STEPPER_1_RESET_PIN              0 | ||||
| 
 | ||||
| /* put here other stepper motor */ | ||||
| 
 | ||||
| #define STEPPER_1_SET            do { /* Implement me! */ } while(0) | ||||
| /* add here the set for other stepper motor */ | ||||
| 
 | ||||
| #define STEPPER_1_CLEAR          do { /* Implement me! */ } while(0) | ||||
| /* add here the clear for other stepper motor */ | ||||
| 
 | ||||
| /*
 | ||||
|  * Generic macro definition | ||||
|  */ | ||||
| 
 | ||||
| /*
 | ||||
|  * Stepper init macro | ||||
|  */ | ||||
| #define STEPPER_PIN_INIT_MACRO(port, index) do { \ | ||||
| 		/* Add here init pin code */ \ | ||||
| 	} while (0) | ||||
| 
 | ||||
| /*
 | ||||
|  * Stepper commands macros | ||||
|  */ | ||||
| #define STEPPER_SET_CW(index)             do { /* Implement me! */ } while (0) | ||||
| #define STEPPER_SET_CCW(index)            do { /* Implement me! */ } while (0) | ||||
| #define STEPPER_SET_HALF(index)           do { /* Implement me! */ } while (0) | ||||
| #define STEPPER_SET_FULL(index)           do { /* Implement me! */ } while (0) | ||||
| #define STEPPER_SET_CONTROL_LOW(index)    do { /* Implement me! */ } while (0) | ||||
| #define STEPPER_SET_CONTROL_HIGHT(index)  do { /* Implement me! */ } while (0) | ||||
| #define STEPPER_SET_ENABLE(index)         do { /* Implement me! */ } while (0) | ||||
| #define STEPPER_SET_DISABLE(index)        do { /* Implement me! */ } while (0) | ||||
| #define STEPPER_SET_RESET_ENABLE(index)   do { /* Implement me! */ } while (0) | ||||
| #define STEPPER_SET_RESET_DISABLE(index)  do { /* Implement me! */ } while (0) | ||||
| 
 | ||||
| 
 | ||||
| /*
 | ||||
|  * Reset stepper macro | ||||
|  */ | ||||
| 
 | ||||
| #define STEPPER_RESET_MACRO(index) do { \ | ||||
| 		STEPPER_SET_RESET_ENABLE(index); \ | ||||
| 		timer_udelay(STEPPER_RESET_DELAY); \ | ||||
| 		STEPPER_SET_RESET_DISABLE(index); \ | ||||
| 	} while (0) | ||||
| 
 | ||||
| /*
 | ||||
|  * Set half or full step macro | ||||
|  */ | ||||
| #define STEPPER_SET_STEP_MODE_MACRO(index, flag) do { \ | ||||
| 		if (flag) \ | ||||
| 			STEPPER_SET_HALF(index); \ | ||||
| 		else \ | ||||
| 			STEPPER_SET_FULL(index); \ | ||||
| 	} while (0) | ||||
| 
 | ||||
| /*
 | ||||
|  * Set control status macro | ||||
|  */ | ||||
| #warning TODO: This macro is not implemented (see below) | ||||
| 
 | ||||
| #define STEPPER_SET_CONTROL_BIT_MACRO(index, flag) do { \ | ||||
| 		/* if (flag) */ \ | ||||
| 			/* WARNING This macros not implemented */ \ | ||||
| 		/* else */ \ | ||||
| 			/* WARNING This macros not implemented */ \ | ||||
| 	} while (0) | ||||
| 
 | ||||
| /*
 | ||||
|  * Set current power macro | ||||
|  */ | ||||
| #warning TODO: This macro is not implemented (see below) | ||||
| 
 | ||||
| #define STEPPER_SET_POWER_CURRENT_MACRO(index, flag) do { \ | ||||
| 		/* if (flag) */ \ | ||||
| 			/* WARNING This macrois not implemented */ \ | ||||
| 		/* else */ \ | ||||
| 			/* WARNING This macrois not implemented */ \ | ||||
| 	} while (0) | ||||
| 
 | ||||
| /*
 | ||||
|  * Set rotation of stepper motor | ||||
|  * - dir = 1: positive rotation | ||||
|  * - dir = 0: no motor moviment | ||||
|  * - dir = -1: negative rotation | ||||
|  * | ||||
|  */ | ||||
| #define STEPPER_SET_DIRECTION_MACRO(index, dir) do { \ | ||||
| 		switch (dir) \ | ||||
| 		{ \ | ||||
| 		case 1: \ | ||||
| 			STEPPER_SET_CW(index); \ | ||||
| 			break; \ | ||||
| 		case -1: \ | ||||
| 			STEPPER_SET_CCW(index); \ | ||||
| 			break; \ | ||||
| 		case 0: \ | ||||
| 			break; \ | ||||
| 		} \ | ||||
| 	} while (0) | ||||
| 
 | ||||
| 
 | ||||
| /*
 | ||||
|  * Define macros for manage low level of stepper. | ||||
|  */ | ||||
| 
 | ||||
| #define STEPPER_INIT()  do { \ | ||||
| 		STEPPER_PIN_INIT_MACRO(A, 1); \ | ||||
| 		/* Add here code for other stepper motor */ \ | ||||
| 	} while (0) | ||||
| 
 | ||||
| 
 | ||||
| /*
 | ||||
|  * Enable select stepper motor | ||||
|  */ | ||||
| #define STEPPER_ENABLE(index) do { \ | ||||
| 		switch (index) \ | ||||
| 		{ \ | ||||
| 		case 1: \ | ||||
| 			STEPPER_SET_ENABLE(1); \ | ||||
| 			break; \ | ||||
| 			/* Add here code for other stepper motor */ \ | ||||
| 		} \ | ||||
| 	} while (0) | ||||
| 
 | ||||
| /*
 | ||||
|  * Enable all stepper connect to micro | ||||
|  */ | ||||
| #define STEPPER_ENABLE_ALL() do { \ | ||||
| 		STEPPER_SET_ENABLE(1); \ | ||||
| 		/* Add here code for other stepper motor */ \ | ||||
| 	} while (0) | ||||
| 
 | ||||
| /*
 | ||||
|  * Disable select stepper motor | ||||
|  */ | ||||
| #define STEPPER_DISABLE(index) do { \ | ||||
| 		switch (index) \ | ||||
| 		{ \ | ||||
| 		case 1: \ | ||||
| 			STEPPER_SET_DISABLE(1); \ | ||||
| 			break; \ | ||||
| 			/* Add here code for other stepper motor */ \ | ||||
| 		} \ | ||||
| 	} while (0) | ||||
| 
 | ||||
| /*
 | ||||
|  * Disable all stepper connect to micro | ||||
|  */ | ||||
| #define STEPPER_DISABLE_ALL() do { \ | ||||
| 		STEPPER_SET_DISABLE(1); \ | ||||
| 		/* Add here code for other stepper motor */ \ | ||||
| 	} while (0) | ||||
| 
 | ||||
| /*
 | ||||
|  * Reset selected stepper motor | ||||
|  */ | ||||
| #define STEPPER_RESET(index) do { \ | ||||
| 		switch (index) \ | ||||
| 		{ \ | ||||
| 		case 1: \ | ||||
| 			STEPPER_RESET_MACRO(1); \ | ||||
| 			break; \ | ||||
| 			/* Add here code for other stepper motor */ \ | ||||
| 		} \ | ||||
| 	} while (0) | ||||
| 
 | ||||
| /*
 | ||||
|  * Reset all stepper motor | ||||
|  */ | ||||
| #define STEPPER_RESET_ALL() do { \ | ||||
| 		STEPPER_RESET_MACRO(1) \ | ||||
| 		/* Add here code for other stepper motor */ \ | ||||
| 	} while (0) | ||||
| 
 | ||||
| // Set half/full step macros
 | ||||
| #define STEPPER_SET_HALF_STEP(index, flag) do { \ | ||||
| 		switch (index) \ | ||||
| 		{ \ | ||||
| 		case 1: \ | ||||
| 			STEPPER_SET_STEP_MODE_MACRO(1, flag); \ | ||||
| 			break; \ | ||||
| 			/* Add here code for other stepper motor */ \ | ||||
| 		} \ | ||||
| 	} while (0) | ||||
| 
 | ||||
| 
 | ||||
| // Control status
 | ||||
| #define STEPPER_SET_CONTROL_BIT(index, flag) do { \ | ||||
| 		switch (index) \ | ||||
| 		{ \ | ||||
| 		case 1: \ | ||||
| 			STEPPER_SET_CONTROL_BIT_MACRO(1, flag); \ | ||||
| 			break; \ | ||||
| 			/* Add here code for other stepper motor */ \ | ||||
| 		} \ | ||||
| 	} while (0) | ||||
| 
 | ||||
| 
 | ||||
| // Set stepper power current
 | ||||
| #define STEPPER_SET_POWER_CURRENT(index, flag) do { \ | ||||
| 		switch (index) \ | ||||
| 		{ \ | ||||
| 		case 1: \ | ||||
| 			STEPPER_SET_POWER_CURRENT_MACRO(1, flag); \ | ||||
| 			break; \ | ||||
| 			/* Add here code for other stepper motor */ \ | ||||
| 		} \ | ||||
| 	} while (0) | ||||
| 
 | ||||
| // Set rotation dirction of stepper motor
 | ||||
| #define STEPPER_SET_DIRECTION(index, dir) do { \ | ||||
| 		switch (index) \ | ||||
| 		{ \ | ||||
| 		case 1: \ | ||||
| 			STEPPER_SET_DIRECTION_MACRO(1, dir); \ | ||||
| 			break; \ | ||||
| 			/* Add here code for other stepper motor */ \ | ||||
| 		} \ | ||||
| 	} while (0) | ||||
| 
 | ||||
| #endif /* HW_STEPPER_H */ | ||||
| 
 | ||||
| 
 | ||||
|  | @ -1,64 +0,0 @@ | |||
| /**
 | ||||
|  * \file | ||||
|  * <!-- | ||||
|  * This file is part of BeRTOS. | ||||
|  * | ||||
|  * Bertos is free software; you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License as published by | ||||
|  * the Free Software Foundation; either version 2 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * | ||||
|  * This program is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with this program; if not, write to the Free Software | ||||
|  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA | ||||
|  * | ||||
|  * As a special exception, you may use this file as part of a free software | ||||
|  * library without restriction.  Specifically, if other files instantiate | ||||
|  * templates or use macros or inline functions from this file, or you compile | ||||
|  * this file and link it with other files to produce an executable, this | ||||
|  * file does not by itself cause the resulting executable to be covered by | ||||
|  * the GNU General Public License.  This exception does not however | ||||
|  * invalidate any other reasons why the executable file might be covered by | ||||
|  * the GNU General Public License. | ||||
|  * | ||||
|  * Copyright 2009 Develer S.r.l. (http://www.develer.com/)
 | ||||
|  * All Rights Reserved. | ||||
|  * --> | ||||
|  * | ||||
|  * \brief HW pin handling. | ||||
|  * | ||||
|  * | ||||
|  * \author Francesco Sacchi <batt@develer.com> | ||||
|  */ | ||||
| 
 | ||||
| #ifndef HW_TAS5706A_H | ||||
| #define HW_TAS5706A_H | ||||
| 
 | ||||
| #include <cfg/macros.h> | ||||
| 
 | ||||
| #warning FIXME: This is an example implementation, you must implement it | ||||
| 
 | ||||
| #define TAS5706A_SETPOWERDOWN(val) do { (void) val; /* implement me */ } while (0) | ||||
| #define TAS5706A_SETRESET(val)     do { (void) val; /* implement me */ } while (0) | ||||
| #define TAS5706A_SETMUTE(val)      do { (void) val; /* implement me */ } while (0) | ||||
| 
 | ||||
| #define TAS5706A_PIN_INIT() \ | ||||
| 	do { \ | ||||
| 		TAS5706A_SETPOWERDOWN(true); \ | ||||
| 		TAS5706A_SETRESET(true); \ | ||||
| 		TAS5706A_SETMUTE(true); \ | ||||
| 		/* complete me */ \ | ||||
| 	} while (0) | ||||
| 
 | ||||
| #define TAS5706A_MCLK_INIT() \ | ||||
| 	do { \ | ||||
| 		/* implement me */ \ | ||||
| 	} while(0) | ||||
| 
 | ||||
| 
 | ||||
| #endif /* HW_TAS5706A_H */ | ||||
|  | @ -1,181 +0,0 @@ | |||
| /**
 | ||||
|  * \file | ||||
|  * <!-- | ||||
|  * This file is part of BeRTOS. | ||||
|  * | ||||
|  * Bertos is free software; you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License as published by | ||||
|  * the Free Software Foundation; either version 2 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * | ||||
|  * This program is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with this program; if not, write to the Free Software | ||||
|  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA | ||||
|  * | ||||
|  * As a special exception, you may use this file as part of a free software | ||||
|  * library without restriction.  Specifically, if other files instantiate | ||||
|  * templates or use macros or inline functions from this file, or you compile | ||||
|  * this file and link it with other files to produce an executable, this | ||||
|  * file does not by itself cause the resulting executable to be covered by | ||||
|  * the GNU General Public License.  This exception does not however | ||||
|  * invalidate any other reasons why the executable file might be covered by | ||||
|  * the GNU General Public License. | ||||
|  * | ||||
|  * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
 | ||||
|  * All Rights Reserved. | ||||
|  * --> | ||||
|  * | ||||
|  * \brief thermo hardware-specific control functions. | ||||
|  * | ||||
|  * \author Francesco Sacchi <batt@develer.com> | ||||
|  * | ||||
|  */ | ||||
| 
 | ||||
| #ifndef HW_THERMO_H | ||||
| #define HW_THERMO_H | ||||
| 
 | ||||
| #include "thermo_map.h" | ||||
| #include "ntc_map.h" | ||||
| 
 | ||||
| #include <drv/phase.h> | ||||
| #include <drv/ntc.h> | ||||
| 
 | ||||
| #include <cfg/debug.h> | ||||
| #include <cfg/compiler.h> | ||||
| 
 | ||||
| #warning TODO:This is an example implentation, you must implement it! | ||||
| 
 | ||||
| /*!
 | ||||
|  * This function should return the temperature set tolerance. | ||||
|  */ | ||||
| INLINE deg_t thermo_hw_tolerance(ThermoDev dev) | ||||
| { | ||||
| 	ASSERT(dev < THERMO_CNT); | ||||
| 
 | ||||
| 	switch (dev) | ||||
| 	{ | ||||
| 	case THERMO_TEST:  | ||||
| 		/* Put here convertion function to temperature size */ | ||||
| 		break; | ||||
| 
 | ||||
| 	/* Put here your thermo device */ | ||||
| 
 | ||||
| 	default: | ||||
| 		ASSERT(0); | ||||
| 	} | ||||
| 
 | ||||
| 	return 0; | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| /*!
 | ||||
|  * This function should return the timeout for reaching the | ||||
|  * target temperature. | ||||
|  */ | ||||
| INLINE ticks_t thermo_hw_timeout(ThermoDev dev) | ||||
| { | ||||
| 	ASSERT(dev < THERMO_CNT); | ||||
| 
 | ||||
| 	switch (dev) | ||||
| 	{ | ||||
| 	case THERMO_TEST: | ||||
| 		/* return ms_to_ticks(60000); */ | ||||
| 		break; | ||||
| 
 | ||||
| 	/* Put here a time out for select thermo device */ | ||||
| 
 | ||||
| 	default: | ||||
| 		ASSERT(0); | ||||
| 	} | ||||
| 
 | ||||
| 	return 0; | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| /*!
 | ||||
|  * Read the temperature of the hw device \a dev. | ||||
|  */ | ||||
| INLINE deg_t thermo_hw_read(ThermoDev dev) | ||||
| { | ||||
| 	return ntc_read(dev); | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| /*!
 | ||||
|  * Turns off a specific device. | ||||
|  * This function is usefull to handle errors. | ||||
|  */ | ||||
| INLINE void thermo_hw_off(ThermoDev dev) | ||||
| { | ||||
| 	ASSERT(dev < THERMO_CNT); | ||||
| 
 | ||||
| 	switch (dev) | ||||
| 	{ | ||||
| 	case THERMO_TEST: | ||||
| 		phase_setPower(TRIAC_TEST, 0); | ||||
| 		break; | ||||
| 
 | ||||
| 	/* Put here a thermo device to turn off */ | ||||
| 
 | ||||
| 	default: | ||||
| 		ASSERT(0); | ||||
| 	} | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| /*!
 | ||||
|  * Based on the current temperature \a cur_temp and the target temperature \a target, this function turns on and off specific | ||||
|  * triac channel and handles the freezer alarm. | ||||
|  * It may use also PID control for thermo-regolations. | ||||
|  */ | ||||
| INLINE void thermo_hw_set(ThermoDev dev, deg_t target, deg_t cur_temp) | ||||
| { | ||||
| 	ASSERT(dev < THERMO_CNT); | ||||
| 
 | ||||
| 	deg_t dist = target - cur_temp; | ||||
| 	//kprintf("dev[%d], dist[%d]\n", dev, dist);
 | ||||
| 
 | ||||
| 	switch(dev) | ||||
| 	{ | ||||
| 	case THERMO_TEST: | ||||
| 		if (dist > 0) | ||||
| 		{ | ||||
| 			/*	phase_setPower(TRIAC_TEST, dist * PID_TEST_K); */ | ||||
| 		} | ||||
| 		else | ||||
| 		{ | ||||
| 			/* phase_setPower(TRIAC_TEST, 0); */ | ||||
| 		} | ||||
| 		break; | ||||
| 
 | ||||
| 	/* Put here an other thermo device */ | ||||
| 
 | ||||
| 	default: | ||||
| 		ASSERT(0); | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| #define THERMO_HW_INIT	_thermo_hw_init() | ||||
| 
 | ||||
| /*!
 | ||||
|  * Init hw associated with thermo-control. | ||||
|  */ | ||||
| INLINE void _thermo_hw_init(void) | ||||
| { | ||||
| 	ASSERT(phase_initialized); | ||||
| 	ASSERT(ntc_initialized); | ||||
| 
 | ||||
| 	phase_setPower(TRIAC_TEST, 0); | ||||
| 
 | ||||
| 	/* Add here the other thermo device */ | ||||
| } | ||||
| 
 | ||||
| #endif /* HW_THERMO_H */ | ||||
|  | @ -1,69 +0,0 @@ | |||
| /**
 | ||||
|  * \file | ||||
|  * <!-- | ||||
|  * This file is part of BeRTOS. | ||||
|  * | ||||
|  * Bertos is free software; you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License as published by | ||||
|  * the Free Software Foundation; either version 2 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * | ||||
|  * This program is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with this program; if not, write to the Free Software | ||||
|  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA | ||||
|  * | ||||
|  * As a special exception, you may use this file as part of a free software | ||||
|  * library without restriction.  Specifically, if other files instantiate | ||||
|  * templates or use macros or inline functions from this file, or you compile | ||||
|  * this file and link it with other files to produce an executable, this | ||||
|  * file does not by itself cause the resulting executable to be covered by | ||||
|  * the GNU General Public License.  This exception does not however | ||||
|  * invalidate any other reasons why the executable file might be covered by | ||||
|  * the GNU General Public License. | ||||
|  * | ||||
|  * Copyright 2010 Develer S.r.l. (http://www.develer.com/)
 | ||||
|  * All Rights Reserved. | ||||
|  * --> | ||||
|  * | ||||
|  * \brief TLV5816 DAC hardware-specific definitions | ||||
|  * | ||||
|  * | ||||
|  * \author Francesco Sacchi <batt@develer.com> | ||||
|  */ | ||||
| 
 | ||||
| #ifndef HW_TLV5816_H | ||||
| #define HW_TLV5816_H | ||||
| 
 | ||||
| #warning TODO:This is an example implementation, you must implement it! | ||||
| 
 | ||||
| #define TLV5618_CSINIT(pin) \ | ||||
| do \ | ||||
| { \ | ||||
| 	(void)pin; \ | ||||
| 	/* Implement me! */ \ | ||||
| 	TLV5618_CSHIGH(pin); \ | ||||
| } while(0) | ||||
| 
 | ||||
| #define TLV5618_CSLOW(pin) \ | ||||
| do \ | ||||
| { \ | ||||
| 	(void)pin; \ | ||||
| 	/* Implement me! */ \ | ||||
| } while(0) | ||||
| 
 | ||||
| 
 | ||||
| #define TLV5618_CSHIGH(pin) \ | ||||
| do \ | ||||
| { \ | ||||
| 	(void)pin; \ | ||||
| 	/* Implement me! */ \ | ||||
| } while(0) | ||||
| 
 | ||||
| 
 | ||||
| #endif /* HW_TLV5816_H */ | ||||
| 
 | ||||
|  | @ -1,52 +0,0 @@ | |||
| /**
 | ||||
|  * \file | ||||
|  * <!-- | ||||
|  * This file is part of BeRTOS. | ||||
|  * | ||||
|  * Bertos is free software; you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License as published by | ||||
|  * the Free Software Foundation; either version 2 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * | ||||
|  * This program is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with this program; if not, write to the Free Software | ||||
|  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA | ||||
|  * | ||||
|  * As a special exception, you may use this file as part of a free software | ||||
|  * library without restriction.  Specifically, if other files instantiate | ||||
|  * templates or use macros or inline functions from this file, or you compile | ||||
|  * this file and link it with other files to produce an executable, this | ||||
|  * file does not by itself cause the resulting executable to be covered by | ||||
|  * the GNU General Public License.  This exception does not however | ||||
|  * invalidate any other reasons why the executable file might be covered by | ||||
|  * the GNU General Public License. | ||||
|  * | ||||
|  * Copyright 2009 Develer S.r.l. (http://www.develer.com/)
 | ||||
|  * All Rights Reserved. | ||||
|  * --> | ||||
|  * | ||||
|  * \brief Hardware macro definition. | ||||
|  * | ||||
|  * \author Daniele Basile <asterix@develer.com> | ||||
|  */ | ||||
| 
 | ||||
| #ifndef HW_TMP123_H | ||||
| #define HW_TMP123_H | ||||
| 
 | ||||
| #warning TODO:This is an example implentation, you must implement it! | ||||
| 
 | ||||
| #define TMP123_HW_CS_EN()    /* Implement me! */ | ||||
| #define TMP123_HW_CS_DIS()   /* Implement me! */ | ||||
| 
 | ||||
| #define TMP123_HW_INIT() \ | ||||
| 	do { \ | ||||
| 	/* Pin init */\ | ||||
| 	} while (0) | ||||
| 
 | ||||
| #endif /* HW_TMP123_H */ | ||||
| 
 | ||||
|  | @ -1,70 +0,0 @@ | |||
| /**
 | ||||
|  * \file | ||||
|  * <!-- | ||||
|  * This file is part of BeRTOS. | ||||
|  * | ||||
|  * Bertos is free software; you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License as published by | ||||
|  * the Free Software Foundation; either version 2 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * | ||||
|  * This program is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with this program; if not, write to the Free Software | ||||
|  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA | ||||
|  * | ||||
|  * As a special exception, you may use this file as part of a free software | ||||
|  * library without restriction.  Specifically, if other files instantiate | ||||
|  * templates or use macros or inline functions from this file, or you compile | ||||
|  * this file and link it with other files to produce an executable, this | ||||
|  * file does not by itself cause the resulting executable to be covered by | ||||
|  * the GNU General Public License.  This exception does not however | ||||
|  * invalidate any other reasons why the executable file might be covered by | ||||
|  * the GNU General Public License. | ||||
|  * | ||||
|  * Copyright 2003, 2004, 2005, 2006, 2008 Develer S.r.l. (http://www.develer.com/)
 | ||||
|  * Copyright 2000 Bernie Innocenti | ||||
|  * All Rights Reserved. | ||||
|  * --> | ||||
|  * | ||||
|  * \brief Keyboard map definitions. | ||||
|  * | ||||
|  * | ||||
|  * \author Francesco Sacchi <batt@develer.com> | ||||
|  * \author Stefano Fedrigo <a@develer.com> | ||||
|  */ | ||||
| 
 | ||||
| #ifndef HW_KBD_MAP_H | ||||
| #define HW_KBD_MAP_H | ||||
| 
 | ||||
| #include <cfg/macros.h> | ||||
| 
 | ||||
| #warning TODO:This is an example implentation, you must implement it! | ||||
| 
 | ||||
| 
 | ||||
| /**
 | ||||
|  * Type for keyboard mask. | ||||
|  */ | ||||
| typedef uint16_t keymask_t; | ||||
| 
 | ||||
| /**
 | ||||
|  * \name Keycodes. | ||||
|  */ | ||||
| /*@{*/ | ||||
| #define K_UP       BV(0) | ||||
| #define K_DOWN     BV(1) | ||||
| #define K_OK       BV(2) | ||||
| #define K_CANCEL   BV(3) | ||||
| 
 | ||||
| #define K_REPEAT   BV(13) /**< This is a repeated keyevent. */ | ||||
| #define K_TIMEOUT  BV(14) /**< Fake key event for timeouts. */ | ||||
| #define K_LONG     BV(15) | ||||
| /*@}*/ | ||||
| 
 | ||||
| #define K_LNG_MASK 0 | ||||
| 
 | ||||
| #endif /* HW_KBD_MAP_H */ | ||||
|  | @ -1,58 +0,0 @@ | |||
| /**
 | ||||
|  * \file | ||||
|  * <!-- | ||||
|  * This file is part of BeRTOS. | ||||
|  * | ||||
|  * Bertos is free software; you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License as published by | ||||
|  * the Free Software Foundation; either version 2 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * | ||||
|  * This program is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with this program; if not, write to the Free Software | ||||
|  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA | ||||
|  * | ||||
|  * As a special exception, you may use this file as part of a free software | ||||
|  * library without restriction.  Specifically, if other files instantiate | ||||
|  * templates or use macros or inline functions from this file, or you compile | ||||
|  * this file and link it with other files to produce an executable, this | ||||
|  * file does not by itself cause the resulting executable to be covered by | ||||
|  * the GNU General Public License.  This exception does not however | ||||
|  * invalidate any other reasons why the executable file might be covered by | ||||
|  * the GNU General Public License. | ||||
|  * | ||||
|  * Copyright 2006, 2008 Develer S.r.l. (http://www.develer.com/)
 | ||||
|  * All Rights Reserved. | ||||
|  * --> | ||||
|  * | ||||
|  * \brief MCP41 digital potentiometer map definitions. | ||||
|  * | ||||
|  * | ||||
|  * \author Francesco Sacchi <batt@develer.com> | ||||
|  */ | ||||
| 
 | ||||
| #ifndef MCP41_MAP_H | ||||
| #define MCP41_MAP_H | ||||
| 
 | ||||
| #warning TODO:This is an example implentation, you must implement it! | ||||
| 
 | ||||
| /** \name Enum for mcp41 pot evices.
 | ||||
|  * \{ | ||||
|  * | ||||
|  */ | ||||
| typedef enum Mcp41Dev | ||||
| { | ||||
| 	MCP41_LED, | ||||
| 
 | ||||
| 	/* put here other mcp41 device */ | ||||
| 
 | ||||
| 	MCP41_CNT, | ||||
| } Mcp41Dev; | ||||
| /* \} */ | ||||
| 
 | ||||
| #endif /* MCP41_MAP_H */ | ||||
|  | @ -1,60 +0,0 @@ | |||
| /**
 | ||||
|  * \file | ||||
|  * <!-- | ||||
|  * This file is part of BeRTOS. | ||||
|  * | ||||
|  * Bertos is free software; you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License as published by | ||||
|  * the Free Software Foundation; either version 2 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * | ||||
|  * This program is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with this program; if not, write to the Free Software | ||||
|  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA | ||||
|  * | ||||
|  * As a special exception, you may use this file as part of a free software | ||||
|  * library without restriction.  Specifically, if other files instantiate | ||||
|  * templates or use macros or inline functions from this file, or you compile | ||||
|  * this file and link it with other files to produce an executable, this | ||||
|  * file does not by itself cause the resulting executable to be covered by | ||||
|  * the GNU General Public License.  This exception does not however | ||||
|  * invalidate any other reasons why the executable file might be covered by | ||||
|  * the GNU General Public License. | ||||
|  * | ||||
|  * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
 | ||||
|  * All Rights Reserved. | ||||
|  * --> | ||||
|  * | ||||
|  * \brief NTC map definitions. | ||||
|  * | ||||
|  * | ||||
|  * \author Giovanni Bajo <rasky@develer.com> | ||||
|  * \author Francesco Sacchi <batt@develer.com> | ||||
|  */ | ||||
| 
 | ||||
| #ifndef NTC_MAP_H | ||||
| #define NTC_MAP_H | ||||
| 
 | ||||
| #include <cfg/compiler.h> | ||||
| 
 | ||||
| #warning TODO:This is an example implentation, you must implement it! | ||||
| 
 | ||||
| /*! \name Enum for ntc devices.
 | ||||
|  * \{ | ||||
|  */ | ||||
| typedef enum NtcDev | ||||
| { | ||||
| 	NTC_TEST, | ||||
| 
 | ||||
| 	/* Put here your thermo device */ | ||||
| 
 | ||||
| 	NTC_CNT | ||||
| } NtcDev; | ||||
| /* \} */ | ||||
| 
 | ||||
| #endif /* NTC_MAP_H */ | ||||
|  | @ -1,57 +0,0 @@ | |||
| /**
 | ||||
|  * \file | ||||
|  * <!-- | ||||
|  * This file is part of BeRTOS. | ||||
|  * | ||||
|  * Bertos is free software; you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License as published by | ||||
|  * the Free Software Foundation; either version 2 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * | ||||
|  * This program is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with this program; if not, write to the Free Software | ||||
|  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA | ||||
|  * | ||||
|  * As a special exception, you may use this file as part of a free software | ||||
|  * library without restriction.  Specifically, if other files instantiate | ||||
|  * templates or use macros or inline functions from this file, or you compile | ||||
|  * this file and link it with other files to produce an executable, this | ||||
|  * file does not by itself cause the resulting executable to be covered by | ||||
|  * the GNU General Public License.  This exception does not however | ||||
|  * invalidate any other reasons why the executable file might be covered by | ||||
|  * the GNU General Public License. | ||||
|  * | ||||
|  * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
 | ||||
|  * All Rights Reserved. | ||||
|  * --> | ||||
|  * | ||||
|  * \brief Triac map definitions. | ||||
|  * | ||||
|  * | ||||
|  * \author Francesco Sacchi <batt@develer.com> | ||||
|  */ | ||||
| 
 | ||||
| #ifndef PHASE_MAP_H | ||||
| #define PHASE_MAP_H | ||||
| 
 | ||||
| #warning TODO:This is an example implentation, you must implement it! | ||||
| 
 | ||||
| /*! \name Enum for triac devices.
 | ||||
|  * \{ | ||||
|  */ | ||||
| typedef enum TriacDev | ||||
| { | ||||
| 	TRIAC_TEST, | ||||
| 
 | ||||
| 	/* Put here other triac device */ | ||||
| 
 | ||||
| 	TRIAC_CNT | ||||
| } TriacDev; | ||||
| /* \} */ | ||||
| 
 | ||||
| #endif /* PHASE_MAP_H */ | ||||
|  | @ -1,60 +0,0 @@ | |||
| /**
 | ||||
|  * \file | ||||
|  * <!-- | ||||
|  * This file is part of BeRTOS. | ||||
|  * | ||||
|  * Bertos is free software; you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License as published by | ||||
|  * the Free Software Foundation; either version 2 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * | ||||
|  * This program is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with this program; if not, write to the Free Software | ||||
|  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA | ||||
|  * | ||||
|  * As a special exception, you may use this file as part of a free software | ||||
|  * library without restriction.  Specifically, if other files instantiate | ||||
|  * templates or use macros or inline functions from this file, or you compile | ||||
|  * this file and link it with other files to produce an executable, this | ||||
|  * file does not by itself cause the resulting executable to be covered by | ||||
|  * the GNU General Public License.  This exception does not however | ||||
|  * invalidate any other reasons why the executable file might be covered by | ||||
|  * the GNU General Public License. | ||||
|  * | ||||
|  * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
 | ||||
|  * All Rights Reserved. | ||||
|  * --> | ||||
|  * | ||||
|  * | ||||
|  * \brief PWM map device. | ||||
|  * | ||||
|  * | ||||
|  * \author Daniele Basile <asterix@develer.com> | ||||
|  */ | ||||
| 
 | ||||
| #ifndef HW_PWM_MAP_H | ||||
| #define HW_PWM_MAP_H | ||||
| 
 | ||||
| #warning TODO:This is an example implentation, you must implement it! | ||||
| 
 | ||||
| typedef enum | ||||
| { | ||||
| 	PWM_CH0 = 0, | ||||
| 	PWM_CH1, | ||||
| 	PWM_CH2, | ||||
| 	PWM_CH3, | ||||
| 
 | ||||
| /*	
 | ||||
|  *	add other PWM channel or | ||||
|  *	change above. | ||||
|  */ | ||||
| 
 | ||||
| 	PWM_CNT | ||||
| } PwmDev; | ||||
| 
 | ||||
| #endif /* HW_PWM_MAP_H */ | ||||
|  | @ -1,69 +0,0 @@ | |||
| /**
 | ||||
|  * \file | ||||
|  * <!-- | ||||
|  * This file is part of BeRTOS. | ||||
|  * | ||||
|  * Bertos is free software; you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License as published by | ||||
|  * the Free Software Foundation; either version 2 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * | ||||
|  * This program is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with this program; if not, write to the Free Software | ||||
|  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA | ||||
|  * | ||||
|  * As a special exception, you may use this file as part of a free software | ||||
|  * library without restriction.  Specifically, if other files instantiate | ||||
|  * templates or use macros or inline functions from this file, or you compile | ||||
|  * this file and link it with other files to produce an executable, this | ||||
|  * file does not by itself cause the resulting executable to be covered by | ||||
|  * the GNU General Public License.  This exception does not however | ||||
|  * invalidate any other reasons why the executable file might be covered by | ||||
|  * the GNU General Public License. | ||||
|  * | ||||
|  * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
 | ||||
|  * All Rights Reserved. | ||||
|  * --> | ||||
|  * | ||||
|  * \brief Thermo regulation control map definitions. | ||||
|  * | ||||
|  * | ||||
|  * \author Francesco Sacchi <batt@develer.com> | ||||
|  */ | ||||
| 
 | ||||
| #ifndef THERMO_MAP_H | ||||
| #define THERMO_MAP_H | ||||
| 
 | ||||
| #include <cfg/compiler.h> | ||||
| #include <cfg/macros.h> | ||||
| 
 | ||||
| #warning TODO:This is an example implentation, you must implement it! | ||||
| 
 | ||||
| typedef uint8_t thermostatus_t; | ||||
| 
 | ||||
| #define THERMO_OFF          0 | ||||
| #define THERMO_HEATING      BV(0) | ||||
| #define THERMO_FREEZING     BV(1) | ||||
| #define THERMO_TGT_REACH    BV(2) | ||||
| #define THERMOERRF_NTCSHORT BV(3) | ||||
| #define THERMOERRF_NTCOPEN  BV(4) | ||||
| #define THERMOERRF_TIMEOUT  BV(5) | ||||
| #define THERMO_ACTIVE       BV(6) | ||||
| 
 | ||||
| #define THERMO_ERRMASK      (THERMOERRF_NTCSHORT | THERMOERRF_NTCOPEN | THERMOERRF_TIMEOUT) | ||||
| 
 | ||||
| typedef enum ThermoDev | ||||
| { | ||||
| 	THERMO_TEST, | ||||
| 
 | ||||
| 	/* Put here your thermo device */ | ||||
| 
 | ||||
| 	THERMO_CNT, | ||||
| } ThermoDev; | ||||
| 
 | ||||
| #endif /* THERMO_MAP_H */ | ||||
|  | @ -1,2 +1,2 @@ | |||
| #define VERS_BUILD 1560 | ||||
| #define VERS_BUILD 1570 | ||||
| #define VERS_HOST  "shard" | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Mark Qvist
						Mark Qvist