final designs and code fixes of remote controller

main
mwinter 4 weeks ago
parent 572cb13f97
commit 30fd638cb1

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

@ -15,7 +15,7 @@
// WiFi stuff
const char* ssid = "sirening";
const char* pwd = "alarm_11735";
const IPAddress ip(192, 168, 4, 201);
const IPAddress ip(192, 168, 4, 203);
const IPAddress gateway(192, 168, 4, 1);
const IPAddress subnet(255, 255, 0, 0);
@ -33,7 +33,7 @@ AiEsp32RotaryEncoder ampEncoderButton = AiEsp32RotaryEncoder(33, 25, 26, -1, 4);
float frequency = 0;
float amplitude = 0;
const int ports = 6;
const int motorIndex = 0;
const int motorIndex = 2;
// Display Defs
#define I2C_ADDRESS 0x3C
@ -49,11 +49,11 @@ void killAll() {
updateAmp(0.0);
}
float hzToRads(int freq){
float hzToRads(float freq){
return freq * TWO_PI / ports;
}
float rpmToRads(int rpm){
float rpmToRads(float rpm){
return (rpm / 60) * TWO_PI;
}
@ -81,11 +81,17 @@ void setupOSC(){
});
OscWiFi.subscribe(settings_port, "/freq", [](const OscMessage& m) {
updateFreq(m.arg<float>(0));
float input = m.arg<float>(0);
if(input < 500.0 && input >= 0.0){
updateFreq(input);
}
});
OscWiFi.subscribe(settings_port, "/amp", [](const OscMessage& m) {
updateAmp(m.arg<float>(0));
float input = m.arg<float>(0);
if(input < 500.0 && input >= 0.0){
updateAmp(input);
}
});
}
@ -104,19 +110,21 @@ void setupEncoderButton(AiEsp32RotaryEncoder& eb, char* val){
} else {
eb.setup(readAmpEncoderISR);
}
eb.setBoundaries(0, 4000, false);
eb.setBoundaries(0, 5000, false);
eb.setAcceleration(1000);
}
//This needs to be more sophisticated. Moving on if it disconnects...
void initWiFi() {
int attempts = 0;
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, pwd);
WiFi.config(ip, gateway, subnet);
Serial.println();
Serial.print("Connecting to WiFi ..");
while (WiFi.status() != WL_CONNECTED) {
while (WiFi.status() != WL_CONNECTED && attempts < 5) {
Serial.print('.');
attempts += 1;
delay(1000);
}
Serial.println(WiFi.localIP());

@ -63,12 +63,12 @@ void setupOSC(char* path){
float amplitude = m.arg<float>(2);
if(frequency != frequencies[motorIndex]){
frequencies[motorIndex] = frequency;
freqEncoderButton.setEncoderValue(frequency * 10.0);
//freqEncoderButton.setEncoderValue(frequencies[sirenSelect] * 10.0);
updateDisplay();
}
if(amplitude != amplitudes[motorIndex]){
amplitudes[motorIndex] = amplitude;
ampEncoderButton.setEncoderValue(amplitude * 10.0);
//ampEncoderButton.setEncoderValue(amplitudes[sirenSelect] * 10.0);
updateDisplay();
}
});
@ -142,6 +142,8 @@ void encoderButtonUpdate(AiEsp32RotaryEncoder& eb, bool& buttonState, char* val)
if (!eb.isEncoderButtonDown() && buttonState) {
if(val == "freq"){
sirenSelect = (sirenSelect + 1) % 3;
freqEncoderButton.setEncoderValue(frequencies[sirenSelect] * 10.0);
ampEncoderButton.setEncoderValue(amplitudes[sirenSelect] * 10.0);
} else {
killAll();
}

Loading…
Cancel
Save