PWM Generator
PWM Generator | |
---|---|
Status | Unstable/Broken
|
menuconfig | I/O->PWM Generator |
Pinning | yes |
Ecmd | yes |
Depends on | ECMD |
Requires | - |
Code | https://github.com/ethersex/ethersex/tree/master/hardware/pwm |
Pulse wide modulator generator with up to 3 channels.
This module uses the avr timers to generate the pwm signals, so for every channel a timer is necessary. It depends on the hardware and other modules, if thre timers are available for the the three channels.
To get background infos you can have a look at this tutorial (in german): [AVR-Tutorial: PWM]
Connection
Every channels requieres a port.
At the moment none of the standard boards has a pin configuration already implemented. It would not make much sense, because you would have to adapt it anyway.
So here a example you can modify and copy to the configuration of the board used:
ifdef(`conf_PWM', `dnl #ifdef CH_A_PWM_GENERAL_SUPPORT pin(CHANNEL_A_PWM, PC0, OUTPUT) #endif /* CH_A_PWM_GENERAL_SUPPORT */ #ifdef CH_B_PWM_GENERAL_SUPPORT pin(CHANNEL_B_PWM, PC1, OUTPUT) #endif /* CH_B_PWM_GENERAL_SUPPORT */ #ifdef CH_C_PWM_GENERAL_SUPPORT pin(CHANNEL_C_PWM, PC2, OUTPUT) #endif /* CH_C_PWM_GENERAL_SUPPORT */ ')
You can also use the script add-hardware (in folder scripts) to generate a board-layout for your current configuration. I don't know the current status of the script - so it is possible, that not every features is supported.