X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fhw%2Fhw_sipo.h;h=0b5699417fffc623235e5cd6499de21bb4e0315a;hb=473263dad1202bedef89a20beb4cbe9861cd1c93;hp=aa77783fbf5549bd441b5ec069bce0f07fe2f2d8;hpb=4cc44c9888a0336b9d01121ec0b7ad95f4a76195;p=bertos.git diff --git a/bertos/hw/hw_sipo.h b/bertos/hw/hw_sipo.h index aa77783f..0b569941 100644 --- a/bertos/hw/hw_sipo.h +++ b/bertos/hw/hw_sipo.h @@ -26,7 +26,7 @@ * 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 2003, 2004, 2006, 2008, 2009 Develer S.r.l. (http://www.develer.com/) * Copyright 2000 Bernie Innocenti * All Rights Reserved. * --> @@ -37,26 +37,61 @@ * \version $Id$ * * \author Andrea Grandi + * \author Daniele Basile */ #ifndef HW_SIPO_H #define HW_SIPO_H -#warning TODO:This is an example implementation, you must implement it! +/** + * 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) -#define LOAD_HIGH /* Implement me! */ -#define LOAD_LOW /* Implement me! */ -#define LOAD_INIT /* Implement me! */ -#define SET_SCK_OUT /* Implement me! */ -#define SET_SOUT_OUT /* Implement me! */ -#define CLOCK_HIGH /* Implement me! */ -#define CLOCK_LOW /* Implement me! */ -#define SET_SOUT_HIGH /* Implement me! */ -#define SET_SOUT_LOW /* Implement me! */ -#define CLOCK_PULSE /* Implement me! */ -#define OE_OUT -#define OE_LOW +/** + * 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 { /* 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 */