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