diff --git a/Modem/hw/hw_afsk.c b/Modem/hw/hw_afsk.c deleted file mode 100644 index 892b2a3..0000000 --- a/Modem/hw/hw_afsk.c +++ /dev/null @@ -1,97 +0,0 @@ -/** - * \file - * - * - * \brief AFSK modem hardware-specific definitions. - * - * - * \author Francesco Sacchi - */ - - -#include "hw_afsk.h" - -#include -#include - -#include -#include - - -/* - * 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; -} diff --git a/Modem/hw/hw_afsk.h b/Modem/hw/hw_afsk.h deleted file mode 100644 index 4bebf74..0000000 --- a/Modem/hw/hw_afsk.h +++ /dev/null @@ -1,110 +0,0 @@ -/** - * \file - * - * - * \brief AFSK modem hardware-specific definitions. - * - * - * \author Francesco Sacchi - */ - -#ifndef HW_AFSK_H -#define HW_AFSK_H - -#include "cfg/cfg_arch.h" - -#include - -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 */ diff --git a/Modem/hw/hw_buzzer.h b/Modem/hw/hw_buzzer.h deleted file mode 100644 index d597478..0000000 --- a/Modem/hw/hw_buzzer.h +++ /dev/null @@ -1,51 +0,0 @@ -/** - * \file - * - * - * \brief Buzzer hardware-specific definitions - * - * - * \author Francesco Sacchi - */ - -#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 */ diff --git a/Modem/hw/hw_dataflash.c b/Modem/hw/hw_dataflash.c deleted file mode 100644 index 1a758a8..0000000 --- a/Modem/hw/hw_dataflash.c +++ /dev/null @@ -1,125 +0,0 @@ -/** - * \file - * - * - * \brief Dataflash HW control routines. - * - * \author Francesco Sacchi - */ - -#include "hw/hw_dataflash.h" - -#include -#include -#include - -#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 - */ - } -} - diff --git a/Modem/hw/hw_dataflash.h b/Modem/hw/hw_dataflash.h deleted file mode 100644 index 0ea2fc9..0000000 --- a/Modem/hw/hw_dataflash.h +++ /dev/null @@ -1,47 +0,0 @@ -/** - * \file - * - * - * \brief Dataflash HW control routines (interface). - * - * \author Francesco Sacchi - */ - -#ifndef HW_DATAFLASH_H -#define HW_DATAFLASH_H - -#include - -void dataflash_hw_init(void); -void dataflash_hw_setCS(bool enable); -void dataflash_hw_setReset(bool enable); - -#endif /* HW_DATAFLASH_H */ diff --git a/Modem/hw/hw_dc_motor.h b/Modem/hw/hw_dc_motor.h deleted file mode 100644 index a414d53..0000000 --- a/Modem/hw/hw_dc_motor.h +++ /dev/null @@ -1,84 +0,0 @@ -/** - * \file - * - * - * \brief DC motor hardware-specific definitions - * - * - * \author Daniele Basile - */ - -#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 */ diff --git a/Modem/hw/hw_ft245rl.h b/Modem/hw/hw_ft245rl.h deleted file mode 100644 index e260020..0000000 --- a/Modem/hw/hw_ft245rl.h +++ /dev/null @@ -1,64 +0,0 @@ -/** - * \file - * - * - * \brief FT245RL USB interface hardware-specific definitions - * - * - * \author Francesco Sacchi - */ - -#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 */ - diff --git a/Modem/hw/hw_i2c_bitbang.h b/Modem/hw/hw_i2c_bitbang.h deleted file mode 100644 index 6aabb46..0000000 --- a/Modem/hw/hw_i2c_bitbang.h +++ /dev/null @@ -1,127 +0,0 @@ -/** - * \file - * - * - * \brief Macro for I2C bitbang operation. - * - * - * - * \author Francesco Sacchi - */ - -#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 - -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 */ diff --git a/Modem/hw/hw_kbd.h b/Modem/hw/hw_kbd.h deleted file mode 100644 index e78a1ce..0000000 --- a/Modem/hw/hw_kbd.h +++ /dev/null @@ -1,71 +0,0 @@ -/** - * \file - * - * - * \brief Keyboard hardware-specific definitions - * - * - * \author Francesco Sacchi - * \author Stefano Fedrigo - */ - -#ifndef HW_KBD_H -#define HW_KBD_H - -#include "hw/kbd_map.h" - -#include - -#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 */ diff --git a/Modem/hw/hw_lcd_32122a.h b/Modem/hw/hw_lcd_32122a.h deleted file mode 100644 index 6ec29c5..0000000 --- a/Modem/hw/hw_lcd_32122a.h +++ /dev/null @@ -1,155 +0,0 @@ -/** - * \file - * - * - * \brief Displaytech 32122A LCD driver - * - * \author Bernie Innocenti - * \author Stefano Fedrigo - * - */ - -#ifndef HW_LCD_32122A_H -#define HW_LCD_32122A_H - -#include -#include - -#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 */ - diff --git a/Modem/hw/hw_lcd_hd44.h b/Modem/hw/hw_lcd_hd44.h deleted file mode 100644 index dfebbca..0000000 --- a/Modem/hw/hw_lcd_hd44.h +++ /dev/null @@ -1,157 +0,0 @@ -/** - * \file - * - * - * \brief LCD low-level hardware macros - * - * \author Bernie Innocenti - * \author Stefano Fedrigo - * - */ - -#ifndef HW_LCD_HD44_H -#define HW_LCD_HD44_H - -#include "cfg/cfg_lcd_hd44.h" /* CONFIG_LCD_4BIT */ - -#include -#include - -#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 */ diff --git a/Modem/hw/hw_led.h b/Modem/hw/hw_led.h deleted file mode 100644 index 2bd46ee..0000000 --- a/Modem/hw/hw_led.h +++ /dev/null @@ -1,47 +0,0 @@ -/** - * \file - * - * - * \brief Led on/off macros. - * - * \author Daniele Basile - */ - -#ifndef HW_LED_H -#define HW_LED_H - -#include - -#define LED_ON() PORTB |= BV(5) -#define LED_OFF() PORTB &= ~BV(5) -#define LED_INIT() DDRB |= BV(5) - -#endif /* HW_LED_H */ diff --git a/Modem/hw/hw_lm75.h b/Modem/hw/hw_lm75.h deleted file mode 100644 index 290dae0..0000000 --- a/Modem/hw/hw_lm75.h +++ /dev/null @@ -1,49 +0,0 @@ -/** - * \file - * - * - * \brief Hardware macro definition. - * - * \author Daniele Basile - */ - -#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 */ - diff --git a/Modem/hw/hw_mcp41.c b/Modem/hw/hw_mcp41.c deleted file mode 100644 index 512b19a..0000000 --- a/Modem/hw/hw_mcp41.c +++ /dev/null @@ -1,52 +0,0 @@ -/** - * \file - * - * - * \brief MCP41 hardware-specific definitions - * - * \author Francesco Sacchi - */ - -#include "hw/hw_mcp41.h" - -#include -#include - -#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 */ -}; - diff --git a/Modem/hw/hw_mcp41.h b/Modem/hw/hw_mcp41.h deleted file mode 100644 index b31a7dd..0000000 --- a/Modem/hw/hw_mcp41.h +++ /dev/null @@ -1,74 +0,0 @@ -/** - * \file - * - * - * \brief MCP41 hardware-specific definitions - * - * \author Francesco Sacchi - */ - -#ifndef HW_MCP41_H -#define HW_MCP41_H - -#include "hw/mcp41_map.h" - -#include - - -#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 */ diff --git a/Modem/hw/hw_ntc.c b/Modem/hw/hw_ntc.c deleted file mode 100644 index 2509239..0000000 --- a/Modem/hw/hw_ntc.c +++ /dev/null @@ -1,45 +0,0 @@ -/** - * \file - * - * - * \brief NTC hardware-specific definition - * - * \author Lorenzo Berni - * - */ - -#include -#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]; diff --git a/Modem/hw/hw_ntc.h b/Modem/hw/hw_ntc.h deleted file mode 100644 index 0f6743a..0000000 --- a/Modem/hw/hw_ntc.h +++ /dev/null @@ -1,135 +0,0 @@ -/** - * \file - * - * - * \brief NTC hardware-specific definition - * - * \author Francesco Sacchi - * - * 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: - * - *
- *                 o Vref
- *                 |
- *                 |                               o Vref
- *                 |                               |
- *               -----                             |
- *              |     |                        ---------
- *              | Rser|                       |         |
- *              |     |                       |         |
- *               -----     -----              |   ADC   |
- *                 | Vp   |     |             |         |
- *      -----------|------| Amp |-------------|         |
- *     |           |      |     |      Vadc   |         |
- *   -----       -----     -----               ---------
- *  |     |     |     |
- *  | NTC |     | Rpar|
- *  |     |     |     |
- *   -----       -----
- *     |           |
- *     |           |
- *   -----       -----
- *    ---         ---
- *
- * 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: - * - *
- *
- *            ADCVAL * Rser
- * Rp = ------------------------
- *         ADCBITS
- *	2         * AMP - ADCVAL
- *
- * - * And after that NTC obvisiously is: - *
- *        Rpar * Rp
- * NTC = ----------
- *        Rpar - Rp
- *
- * - * - * 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 - -#include -#include - -#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 */ diff --git a/Modem/hw/hw_phase.c b/Modem/hw/hw_phase.c deleted file mode 100644 index cd50242..0000000 --- a/Modem/hw/hw_phase.c +++ /dev/null @@ -1,45 +0,0 @@ -/** - * \file - * - * - * \brief Phase control hardware-specific definitions - * - * \author Francesco Sacchi - */ - -#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 */ diff --git a/Modem/hw/hw_phase.h b/Modem/hw/hw_phase.h deleted file mode 100644 index 7cae67c..0000000 --- a/Modem/hw/hw_phase.h +++ /dev/null @@ -1,79 +0,0 @@ -/** - * \file - * - * - * \brief Phase control hardware-specific definitions - * - * - * \author Francesco Sacchi - */ - -#ifndef HW_PHASE_H -#define HW_PHASE_H - -#include "hw/phase_map.h" - -#include - -#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 */ diff --git a/Modem/hw/hw_rit128x96.h b/Modem/hw/hw_rit128x96.h deleted file mode 100644 index c24d1a8..0000000 --- a/Modem/hw/hw_rit128x96.h +++ /dev/null @@ -1,78 +0,0 @@ -/** - * \file - * - * - * \brief LM3S1986: OLED-RIT-128x96 (P14201) low-level hardware macros - * - * \author Andrea Righi - */ - -#ifndef HW_RIT128x96_H -#define HW_RIT128x96_H - -#include "cfg/macros.h" /* BV() */ -#include "cfg/debug.h" - -#include -#include -#include - -/** - * \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 */ diff --git a/Modem/hw/hw_sd.h b/Modem/hw/hw_sd.h deleted file mode 100644 index ed10b80..0000000 --- a/Modem/hw/hw_sd.h +++ /dev/null @@ -1,52 +0,0 @@ -/** - * \file - * - * - * \brief SD driver hardware-specific definitions. - * - * - * \author Luca Ottaviano - */ - -#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 */ diff --git a/Modem/hw/hw_ser.h b/Modem/hw/hw_ser.h deleted file mode 100644 index 2033c98..0000000 --- a/Modem/hw/hw_ser.h +++ /dev/null @@ -1,52 +0,0 @@ -/** - * \file - * - * - * \brief Serial hardware-specific definitions - * - * - * \author Daniele Basile - */ - -#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 */ diff --git a/Modem/hw/hw_sipo.h b/Modem/hw/hw_sipo.h deleted file mode 100644 index 552d4dd..0000000 --- a/Modem/hw/hw_sipo.h +++ /dev/null @@ -1,108 +0,0 @@ -/** - * \file - * - * - * \brief Macro for HW_SIPO_H - * - * - * - * \author Andrea Grandi - * \author Daniele Basile - */ - -#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 */ diff --git a/Modem/hw/hw_spi.h b/Modem/hw/hw_spi.h deleted file mode 100644 index 991b86a..0000000 --- a/Modem/hw/hw_spi.h +++ /dev/null @@ -1,114 +0,0 @@ -/** - * \file - * - * - * \brief Hardware macro definition. - * - * - * \author Daniele Basile - */ - -#ifndef HW_SPI_H -#define HW_SPI_H - -#warning TODO:This is an example implentation, you must implement it! - -#include - -/** - * 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 */ - diff --git a/Modem/hw/hw_stepper.h b/Modem/hw/hw_stepper.h deleted file mode 100644 index b97bacb..0000000 --- a/Modem/hw/hw_stepper.h +++ /dev/null @@ -1,308 +0,0 @@ -/** - * \file - * - * - * \brief Stepper hardware-specific definitions - * - * - * \author Daniele Basile - */ - - -#ifndef HW_STEPPER_H -#define HW_STEPPER_H - -#include - -#include - -#include - -#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 */ - - diff --git a/Modem/hw/hw_tas5706a.h b/Modem/hw/hw_tas5706a.h deleted file mode 100644 index fda85e1..0000000 --- a/Modem/hw/hw_tas5706a.h +++ /dev/null @@ -1,64 +0,0 @@ -/** - * \file - * - * - * \brief HW pin handling. - * - * - * \author Francesco Sacchi - */ - -#ifndef HW_TAS5706A_H -#define HW_TAS5706A_H - -#include - -#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 */ diff --git a/Modem/hw/hw_thermo.h b/Modem/hw/hw_thermo.h deleted file mode 100644 index 3bb4735..0000000 --- a/Modem/hw/hw_thermo.h +++ /dev/null @@ -1,181 +0,0 @@ -/** - * \file - * - * - * \brief thermo hardware-specific control functions. - * - * \author Francesco Sacchi - * - */ - -#ifndef HW_THERMO_H -#define HW_THERMO_H - -#include "thermo_map.h" -#include "ntc_map.h" - -#include -#include - -#include -#include - -#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 */ diff --git a/Modem/hw/hw_tlv5618.h b/Modem/hw/hw_tlv5618.h deleted file mode 100644 index 4a2b420..0000000 --- a/Modem/hw/hw_tlv5618.h +++ /dev/null @@ -1,69 +0,0 @@ -/** - * \file - * - * - * \brief TLV5816 DAC hardware-specific definitions - * - * - * \author Francesco Sacchi - */ - -#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 */ - diff --git a/Modem/hw/hw_tmp123.h b/Modem/hw/hw_tmp123.h deleted file mode 100644 index adb1858..0000000 --- a/Modem/hw/hw_tmp123.h +++ /dev/null @@ -1,52 +0,0 @@ -/** - * \file - * - * - * \brief Hardware macro definition. - * - * \author Daniele Basile - */ - -#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 */ - diff --git a/Modem/hw/kbd_map.h b/Modem/hw/kbd_map.h deleted file mode 100644 index 15e4f08..0000000 --- a/Modem/hw/kbd_map.h +++ /dev/null @@ -1,70 +0,0 @@ -/** - * \file - * - * - * \brief Keyboard map definitions. - * - * - * \author Francesco Sacchi - * \author Stefano Fedrigo - */ - -#ifndef HW_KBD_MAP_H -#define HW_KBD_MAP_H - -#include - -#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 */ diff --git a/Modem/hw/mcp41_map.h b/Modem/hw/mcp41_map.h deleted file mode 100644 index b2d223c..0000000 --- a/Modem/hw/mcp41_map.h +++ /dev/null @@ -1,58 +0,0 @@ -/** - * \file - * - * - * \brief MCP41 digital potentiometer map definitions. - * - * - * \author Francesco Sacchi - */ - -#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 */ diff --git a/Modem/hw/ntc_map.h b/Modem/hw/ntc_map.h deleted file mode 100644 index 6d256be..0000000 --- a/Modem/hw/ntc_map.h +++ /dev/null @@ -1,60 +0,0 @@ -/** - * \file - * - * - * \brief NTC map definitions. - * - * - * \author Giovanni Bajo - * \author Francesco Sacchi - */ - -#ifndef NTC_MAP_H -#define NTC_MAP_H - -#include - -#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 */ diff --git a/Modem/hw/phase_map.h b/Modem/hw/phase_map.h deleted file mode 100644 index 185a36f..0000000 --- a/Modem/hw/phase_map.h +++ /dev/null @@ -1,57 +0,0 @@ -/** - * \file - * - * - * \brief Triac map definitions. - * - * - * \author Francesco Sacchi - */ - -#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 */ diff --git a/Modem/hw/pwm_map.h b/Modem/hw/pwm_map.h deleted file mode 100644 index 634f3ec..0000000 --- a/Modem/hw/pwm_map.h +++ /dev/null @@ -1,60 +0,0 @@ -/** - * \file - * - * - * - * \brief PWM map device. - * - * - * \author Daniele Basile - */ - -#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 */ diff --git a/Modem/hw/thermo_map.h b/Modem/hw/thermo_map.h deleted file mode 100644 index beaa39b..0000000 --- a/Modem/hw/thermo_map.h +++ /dev/null @@ -1,69 +0,0 @@ -/** - * \file - * - * - * \brief Thermo regulation control map definitions. - * - * - * \author Francesco Sacchi - */ - -#ifndef THERMO_MAP_H -#define THERMO_MAP_H - -#include -#include - -#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 */ diff --git a/buildrev.h b/buildrev.h index 35b47f5..7a9c086 100644 --- a/buildrev.h +++ b/buildrev.h @@ -1,2 +1,2 @@ -#define VERS_BUILD 1560 +#define VERS_BUILD 1570 #define VERS_HOST "shard"