Lightweight FlyBed1, structure based on KK-Board Firmware First this one should work, then I can get more complex FlyBed1 working :)
Servo_PWM/Servo_PWM.cpp@2:c2ebab7c189f, 2013-06-24 (annotated)
- Committer:
- maetugr
- Date:
- Mon Jun 24 14:19:15 2013 +0000
- Revision:
- 2:c2ebab7c189f
- Parent:
- 0:d51bf879e9df
latest changes online for Roland Elmiger
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
maetugr | 0:d51bf879e9df | 1 | #include "Servo_PWM.h" |
maetugr | 0:d51bf879e9df | 2 | #include "mbed.h" |
maetugr | 0:d51bf879e9df | 3 | |
maetugr | 0:d51bf879e9df | 4 | Servo_PWM::Servo_PWM(PinName Pin, int frequency) : ServoPin(Pin) { |
maetugr | 0:d51bf879e9df | 5 | SetFrequency(frequency); |
maetugr | 0:d51bf879e9df | 6 | ServoPin = 0; |
maetugr | 0:d51bf879e9df | 7 | initialize(); |
maetugr | 0:d51bf879e9df | 8 | } |
maetugr | 0:d51bf879e9df | 9 | |
maetugr | 0:d51bf879e9df | 10 | void Servo_PWM::SetFrequency(int frequency) { |
maetugr | 0:d51bf879e9df | 11 | ServoPin.period(1.0/frequency); |
maetugr | 0:d51bf879e9df | 12 | } |
maetugr | 0:d51bf879e9df | 13 | |
maetugr | 0:d51bf879e9df | 14 | void Servo_PWM::initialize() { |
maetugr | 0:d51bf879e9df | 15 | // initialize ESC |
maetugr | 0:d51bf879e9df | 16 | SetPosition(0); // zero throttle |
maetugr | 0:d51bf879e9df | 17 | } |
maetugr | 0:d51bf879e9df | 18 | |
maetugr | 0:d51bf879e9df | 19 | void Servo_PWM::SetPosition(int position) { |
maetugr | 0:d51bf879e9df | 20 | ServoPin.pulsewidth_us(position+1000); |
maetugr | 0:d51bf879e9df | 21 | } |
maetugr | 0:d51bf879e9df | 22 | |
maetugr | 0:d51bf879e9df | 23 | void Servo_PWM::operator=(int position) { |
maetugr | 0:d51bf879e9df | 24 | SetPosition(position); |
maetugr | 0:d51bf879e9df | 25 | } |