Changing filename, calibrating output values, adding proper failsafe
This commit is contained in:
parent
24d1d97e58
commit
f13f85df37
@ -18,12 +18,12 @@ src_filter = +<remote.cpp>
|
|||||||
monitor_baud = 115200
|
monitor_baud = 115200
|
||||||
|
|
||||||
|
|
||||||
[env:reciever]
|
[env:receiver]
|
||||||
platform = espressif32
|
platform = espressif32
|
||||||
board = esp32doit-devkit-v1
|
board = esp32doit-devkit-v1
|
||||||
framework = arduino
|
framework = arduino
|
||||||
|
|
||||||
src_filter = +<reciever.cpp>
|
src_filter = +<receiver.cpp>
|
||||||
|
|
||||||
monitor_baud = 115200
|
monitor_baud = 115200
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
//mac addresses
|
//mac addresses
|
||||||
|
|
||||||
// reciever mac:
|
// reciever mac:
|
||||||
uint8_t mac_reciever[] = {0x30, 0xae, 0xa4, 0x04, 0x21, 0x2d};
|
uint8_t mac_receiver[] = {0x30, 0xae, 0xa4, 0x04, 0x21, 0x2d};
|
||||||
|
|
||||||
// remote macStr
|
// remote macStr
|
||||||
uint8_t mac_remote[] = {0x24, 0x0a, 0xc4, 0x82, 0x51, 0x70};
|
uint8_t mac_remote[] = {0x24, 0x0a, 0xc4, 0x82, 0x51, 0x70};
|
||||||
|
@ -1,12 +1,14 @@
|
|||||||
// ESPNOWSkate Reciever by Lukas Bachschwell this device SLAVE =D
|
// ESPNOWSkate Receiver by Lukas Bachschwell this device SLAVE =D
|
||||||
#include <Servo.h>
|
#include <Servo.h>
|
||||||
#include "Arduino.h"
|
#include "Arduino.h"
|
||||||
#include "SSD1306.h"
|
#include "SSD1306.h"
|
||||||
#include <esp_now.h>
|
#include <esp_now.h>
|
||||||
#include <WiFi.h>
|
#include <WiFi.h>
|
||||||
|
|
||||||
static const int esc1pin = 15;
|
#define esc1pin 15
|
||||||
static const int esc2pin = 13;
|
#define esc2pin 13
|
||||||
|
#define fallbackpin 36
|
||||||
|
|
||||||
|
|
||||||
Servo esc1;
|
Servo esc1;
|
||||||
Servo esc2;
|
Servo esc2;
|
||||||
@ -14,15 +16,13 @@ SSD1306 display(0x3c, 5, 4);
|
|||||||
|
|
||||||
|
|
||||||
//#define pairingMode
|
//#define pairingMode
|
||||||
#define FAILSAFE 90
|
#define CONNECTION_TIMEOUT 300
|
||||||
#define CONNECTION_TIMEOUT 200
|
|
||||||
#define CHANNEL 1
|
#define CHANNEL 1
|
||||||
long lastPacket = 0;
|
long lastPacket = 0;
|
||||||
|
|
||||||
bool isConnected = false;
|
bool isConnected = false;
|
||||||
|
|
||||||
// ESPNOW Functions ############################
|
// ESPNOW Functions ############################
|
||||||
//
|
|
||||||
// config AP
|
// config AP
|
||||||
void configDeviceAP(bool hidden) {
|
void configDeviceAP(bool hidden) {
|
||||||
bool result = WiFi.softAP("ESK8", "ESK8_Password+vD8z2YAvoDBW?Zx", CHANNEL, hidden);
|
bool result = WiFi.softAP("ESK8", "ESK8_Password+vD8z2YAvoDBW?Zx", CHANNEL, hidden);
|
||||||
@ -34,7 +34,6 @@ void configDeviceAP(bool hidden) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void writeServos(uint8_t firstServo, uint8_t secondServo) {
|
void writeServos(uint8_t firstServo, uint8_t secondServo) {
|
||||||
isConnected = true;
|
|
||||||
esc1.write(firstServo);
|
esc1.write(firstServo);
|
||||||
esc2.write(secondServo);
|
esc2.write(secondServo);
|
||||||
}
|
}
|
||||||
@ -65,14 +64,16 @@ void OnDataRecv(const uint8_t *mac_addr, const uint8_t *data, int data_len) {
|
|||||||
|
|
||||||
void setup() {
|
void setup() {
|
||||||
Serial.begin(115200);
|
Serial.begin(115200);
|
||||||
Serial.println("ESPNowSkate Reciever");
|
Serial.println("ESPNowSkate Receiver");
|
||||||
|
|
||||||
display.init();
|
display.init();
|
||||||
display.flipScreenVertically();
|
display.flipScreenVertically();
|
||||||
display.setFont(ArialMT_Plain_16);
|
display.setFont(ArialMT_Plain_16);
|
||||||
|
|
||||||
esc1.attach(esc1pin);
|
// Init escs, min and max value similar as Traxxas TQI 1100, 1900
|
||||||
esc2.attach(esc2pin);
|
// chanel, minAngel, maxAngel, minPulseWidth, maxPulseWidth
|
||||||
|
esc1.attach(esc1pin, 0, 0, 180, 1100, 1900);
|
||||||
|
esc2.attach(esc2pin, 1, 0, 180, 1100, 1900);
|
||||||
|
|
||||||
//Set device in AP mode to begin with
|
//Set device in AP mode to begin with
|
||||||
WiFi.mode(WIFI_AP);
|
WiFi.mode(WIFI_AP);
|
||||||
@ -100,10 +101,14 @@ void setup() {
|
|||||||
|
|
||||||
|
|
||||||
void loop() {
|
void loop() {
|
||||||
if(isConnected) {
|
if(millis() - lastPacket > CONNECTION_TIMEOUT ) {
|
||||||
if(millis() - lastPacket > CONNECTION_TIMEOUT ) {
|
isConnected = false;
|
||||||
isConnected = false;
|
int failsafeValue = map(analogRead(fallbackpin), 0, 4095, 0, 180);
|
||||||
writeServos(FAILSAFE, FAILSAFE);
|
writeServos(failsafeValue, failsafeValue);
|
||||||
}
|
display.clear();
|
||||||
|
char buf[25];
|
||||||
|
sprintf(buf, "FAIL: %i", failsafeValue);
|
||||||
|
display.drawString(2, 0, buf);
|
||||||
|
display.display();
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user