00001 #ifndef pwm_timer_h 00002 #define pwm_timer_h 00003 00040 #include "pwm_channels.h" 00041 00043 typedef uint8_t pwm_Channels_Bitfield; 00044 00046 typedef uint8_t pwm_Channels_StepCounter; 00047 00049 typedef uint16_t pwm_Timer_Cycles; 00050 00052 enum{pwm_Channels_StepCounter_Max= CHANNELS + 1}; 00053 00055 typedef struct S_pwm_Channels_Step { 00056 pwm_Timer_Cycles cycle; 00057 pwm_Channels_Bitfield field; 00058 } pwm_Channels_Step; 00059 00061 typedef struct S_pwm_Channels_Message { 00062 pwm_Channels_Step step[pwm_Channels_StepCounter_Max]; 00063 } pwm_Channels_Message; 00064 00065 void pwm_Timer_init(void); 00066 void pwm_Timer_cleanup(void); 00067 void pwm_Timer_idle(void); 00068 00069 #endif 00070