Transferred existing firmware code to git
This commit is contained in:
58
src/Firmware/Firmware.ino
Normal file
58
src/Firmware/Firmware.ino
Normal file
@ -0,0 +1,58 @@
|
||||
#define HAPTIC_FWD_PIN 3
|
||||
#define HAPTIC_MID_PIN 5
|
||||
#define HAPTIC_BACK_PIN 6
|
||||
#define MQ3_ENABLE_PIN 4
|
||||
#define MQ3_READ_PIN A0
|
||||
#define MQ3_READ_RATE 100
|
||||
|
||||
unsigned long lastSend = 0;
|
||||
uint8_t cmd = 0xFF;
|
||||
|
||||
void setup() {
|
||||
pinMode(HAPTIC_FWD_PIN, OUTPUT);
|
||||
pinMode(HAPTIC_MID_PIN, OUTPUT);
|
||||
pinMode(HAPTIC_BACK_PIN, OUTPUT);
|
||||
pinMode(MQ3_ENABLE_PIN, OUTPUT);
|
||||
pinMode(MQ3_READ_PIN, INPUT);
|
||||
Serial.begin(9600);
|
||||
}
|
||||
|
||||
void loop() {
|
||||
if (millis() - lastSend > MQ3_READ_RATE) {
|
||||
Serial.print(analogRead(MQ3_READ_PIN));
|
||||
Serial.print("\n");
|
||||
lastSend = millis();
|
||||
}
|
||||
|
||||
if (Serial.available() > 0) {
|
||||
if (cmd == 0xFF) {
|
||||
cmd = Serial.read();
|
||||
}
|
||||
|
||||
if (cmd == 0x00) { // Turn off MQ3
|
||||
digitalWrite(MQ3_ENABLE_PIN, LOW);
|
||||
cmd = 0xFF;
|
||||
} else if (cmd == 0x01) { // Turn on MQ3
|
||||
digitalWrite(MQ3_ENABLE_PIN, HIGH);
|
||||
cmd = 0xFF;
|
||||
} else if (cmd == 0x02) { // Send motor commands
|
||||
if (Serial.available() >= 3) {
|
||||
analogWrite(HAPTIC_FWD_PIN, Serial.read());
|
||||
analogWrite(HAPTIC_MID_PIN, Serial.read());
|
||||
analogWrite(HAPTIC_BACK_PIN, Serial.read());
|
||||
cmd = 0xFF;
|
||||
}
|
||||
} else if (cmd == 0x10) { // Ping
|
||||
Serial.print("P\n");
|
||||
cmd = 0xFF;
|
||||
} else if (cmd == 0x11) { // Oh god oh fuck it's on fire
|
||||
analogWrite(HAPTIC_FWD_PIN, 0);
|
||||
analogWrite(HAPTIC_MID_PIN, 0);
|
||||
analogWrite(HAPTIC_BACK_PIN, 0);
|
||||
digitalWrite(MQ3_ENABLE_PIN, LOW);
|
||||
cmd = 0xFF;
|
||||
} else {
|
||||
cmd = 0xFF;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user