Changing filename, calibrating output values, adding proper failsafe
This commit is contained in:
		@@ -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();
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
		Reference in New Issue
	
	Block a user