You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
15 lines
476 B
15 lines
476 B
-- move a servo in a sinisoidal fashion |
|
|
|
local SERVO_FUNCTION = 94 |
|
local PERIOD = 0.5 |
|
|
|
function update() -- this is the loop which periodically runs |
|
local t = 0.001 * millis():tofloat() |
|
local pi = 3.1415 |
|
local output = math.sin(pi * t * PERIOD * 2.0) |
|
local pwm = math.floor(1500 + 500 * output) |
|
SRV_Channels:set_output_pwm(SERVO_FUNCTION, pwm) |
|
return update, 20 -- reschedules the loop at 50Hz |
|
end |
|
|
|
return update() -- run immediately before starting to reschedule
|
|
|