Removed old examples
This commit is contained in:
parent
ce31f88e2d
commit
15b19c9019
|
@ -1,13 +0,0 @@
|
|||
set(OUTPUT_NAME servo2040_functions)
|
||||
add_executable(${OUTPUT_NAME} servo2040_functions.cpp)
|
||||
|
||||
target_link_libraries(${OUTPUT_NAME}
|
||||
pico_stdlib
|
||||
servo2040
|
||||
button
|
||||
)
|
||||
|
||||
# enable usb output
|
||||
pico_enable_stdio_usb(${OUTPUT_NAME} 1)
|
||||
|
||||
pico_add_extra_outputs(${OUTPUT_NAME})
|
|
@ -1,114 +0,0 @@
|
|||
#include <stdio.h>
|
||||
#include <math.h>
|
||||
#include <cstdint>
|
||||
|
||||
#include "pico/stdlib.h"
|
||||
|
||||
#include "servo2040.hpp"
|
||||
|
||||
#include "common/pimoroni_common.hpp"
|
||||
#include "button.hpp"
|
||||
|
||||
/*
|
||||
A simple balancing game, where you use the MSA301 accelerometer to line up a band with a goal on the strip.
|
||||
This can either be done using:
|
||||
- Angle mode: Where position on the strip directly matches the accelerometer's angle
|
||||
- Velocity mode: Where tilting the accelerometer changes the speed the band moves at
|
||||
When the goal position is reached, a new position is randomly selected
|
||||
|
||||
Press "A" to change the game mode.
|
||||
Press "B" to start or stop the game mode.
|
||||
Press "Boot" to invert the direction of the accelerometer tilt
|
||||
*/
|
||||
|
||||
using namespace pimoroni;
|
||||
using namespace plasma;
|
||||
using namespace servo;
|
||||
|
||||
// Set how many LEDs you have
|
||||
const uint N_LEDS = 6;
|
||||
|
||||
// The speed that the LEDs will start cycling at
|
||||
const uint DEFAULT_SPEED = 10;
|
||||
|
||||
// How many times the LEDs will be updated per second
|
||||
const uint UPDATES = 60;
|
||||
|
||||
// WS28X-style LEDs with a single signal line. AKA NeoPixel
|
||||
WS2812 led_bar(N_LEDS, pio0, 0, servo2040::LED_DAT);
|
||||
|
||||
|
||||
Button user_sw(servo2040::USER_SW, Polarity::ACTIVE_LOW, 0);
|
||||
|
||||
Servo simple_servo(0);
|
||||
|
||||
uint count = 0;
|
||||
uint servo_seq = 0;
|
||||
int main() {
|
||||
stdio_init_all();
|
||||
|
||||
led_bar.start(UPDATES);
|
||||
|
||||
sleep_ms(5000);
|
||||
|
||||
//Calibration& calib = simple_servo.calibration();
|
||||
//calib.create_three_point_calibration(500, 1500, 2500, 4);
|
||||
|
||||
simple_servo.init();
|
||||
|
||||
//PWMCluster pwms(pio1, 0, 0b111111111111111);
|
||||
//pwms.set_wrap(20000);
|
||||
//ServoCluster cluster(pio1, 0, 0b111100);
|
||||
ServoCluster cluster(pio1, 0, {2, 3, 4, 5});
|
||||
cluster.init();
|
||||
|
||||
int speed = DEFAULT_SPEED;
|
||||
float offset = 0.0f;
|
||||
bool toggle = false;
|
||||
|
||||
while(true) {
|
||||
bool sw_pressed = user_sw.read();
|
||||
|
||||
if(sw_pressed) {
|
||||
speed = DEFAULT_SPEED;
|
||||
}
|
||||
speed = std::min((int)255, std::max((int)1, speed));
|
||||
|
||||
offset += float(speed) / 2000.0f;
|
||||
|
||||
for(auto i = 0u; i < led_bar.num_leds; ++i) {
|
||||
float hue = float(i) / led_bar.num_leds;
|
||||
led_bar.set_hsv(i, hue + offset, 1.0f, 0.5f);
|
||||
}
|
||||
|
||||
count++;
|
||||
if(count >= 100) {
|
||||
count = 0;
|
||||
|
||||
//pwms.set_chan_level(servo_seq, 2000);//toggle ? 2000 : 1000);
|
||||
cluster.set_pulse(servo_seq + 2, toggle ? 2000 : 1000);
|
||||
//pwms.set_chan_polarity(servo_seq, toggle);
|
||||
//pwms.set_chan_offset(servo_seq, toggle ? 19000 : 0);
|
||||
simple_servo.set_pulse(servo_seq + 1500);
|
||||
//cluster.set_pulse(0, servo_seq + 1500);
|
||||
servo_seq++;
|
||||
if(servo_seq >= 4) {
|
||||
servo_seq = 0;
|
||||
toggle = !toggle;
|
||||
//pwms.set_wrap(toggle ? 30000 : 20000);
|
||||
//float div = clock_get_hz(clk_sys) / (toggle ? 500000 : 5000000);
|
||||
//pwms.set_clkdiv(div);
|
||||
simple_servo.disable();
|
||||
}
|
||||
//printf("Angle = %f, Pulse = %f, Enabled = %s\n", simple_servo.get_value(), simple_servo.get_pulse(), simple_servo.is_enabled() ? "true" : "false");
|
||||
|
||||
//pwms.load_pwm();
|
||||
}
|
||||
|
||||
//pwms.update(true);
|
||||
|
||||
// Sleep time controls the rate at which the LED buffer is updated
|
||||
// but *not* the actual framerate at which the buffer is sent to the LEDs
|
||||
sleep_ms(1000 / UPDATES);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue