X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fhw%2Fhw_sipo.h;h=552d4dd5658f8774ca653252cef9ae4df02cdd86;hb=c50c518c2dfe5529750d50f477b840f0b4338074;hp=ad02c57e0ed75cd139b17d9c112fce17405fd4bc;hpb=e423e63cade618baf616a79b99aaab5de74ec76e;p=bertos.git diff --git a/bertos/hw/hw_sipo.h b/bertos/hw/hw_sipo.h index ad02c57e..552d4dd5 100644 --- a/bertos/hw/hw_sipo.h +++ b/bertos/hw/hw_sipo.h @@ -34,7 +34,6 @@ * \brief Macro for HW_SIPO_H * * - * \version $Id$ * * \author Andrea Grandi * \author Daniele Basile @@ -43,39 +42,67 @@ #ifndef HW_SIPO_H #define HW_SIPO_H -#warning TODO:This is an example implementation, you must implement it! +/** + * 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 macros needed to set the serial input bit of SIPO device - * low or high. + * 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) +#define SIPO_SI_HIGH() do { /* Implement me! */ } while (0) +#define SIPO_SI_LOW() do { /* Implement me! */ } while (0) /** - * Drive pin to load the bit, presented in serial-in pin, - * into sipo shift register. + * Drive clock to shift SI data into latch. */ -#define SIPO_SI_CLOCK() /* Implement me! */ +#define SIPO_SI_CLOCK(clk_pol) \ + do { \ + (void)clk_pol; \ + /* Implement me! */ \ + } while (0) /** - * Clock the content of shift register to output. + * Do everything needed in order to load dato into sipo. */ -#define SIPO_LOAD() /* Implement me! */ +#define SIPO_LOAD(device, load_pol) do { /* Implement me! */ } while (0) /** * Enable the shift register output. */ -#define SIPO_ENABLE() /* Implement me! */ +#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 everything needed in order to init the SIPO pins. + * Do anything that needed to init sipo pins. */ -#define SIPO_INIT_PIN() \ - do { \ - /* Implement me! */ \ - } while(0) +#define SIPO_INIT_PIN() do { /* Implement me! */ } while (0) #endif /* HW_SIPO_H */