PWM Generator

From Ethersex_Wiki
Jump to: navigation, search
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.