diff --git a/elboard v1.1/ArduinoJson-master.zip b/elboard v1.1/ArduinoJson-master.zip deleted file mode 100644 index fd8c0b9..0000000 Binary files a/elboard v1.1/ArduinoJson-master.zip and /dev/null differ diff --git a/elboard v1.1/AsyncTCP-master.zip b/elboard v1.1/AsyncTCP-master.zip deleted file mode 100644 index af15040..0000000 Binary files a/elboard v1.1/AsyncTCP-master.zip and /dev/null differ diff --git a/elboard v1.1/ESPAsyncWebServer-master.zip b/elboard v1.1/ESPAsyncWebServer-master.zip deleted file mode 100644 index aad24fc..0000000 Binary files a/elboard v1.1/ESPAsyncWebServer-master.zip and /dev/null differ diff --git a/elboard v1.1/board/Slave/Slave.ino b/elboard v1.1/board/Slave/Slave.ino deleted file mode 100644 index cd56431..0000000 --- a/elboard v1.1/board/Slave/Slave.ino +++ /dev/null @@ -1,517 +0,0 @@ -//libraries -#include //phone / hand control -#include //phone control -#include //phone control -#include "esp_now.h" //upravené hodnoty prenosu -#include "VescUart.h" //umiestnené priamo pri tomto súbore !!! -VescUart UART; -DNSServer DNS; - -//pin layout (output) -#define flight 4 -#define rlight 15 - -//value settings -#define fpow 1.0 //intenzita svietenia flight (stála) , 0 - 1 -#define rpow 0.4 //intenzita svietenia rlight (stála) , 0 - 1 -#define dutydead 0.05 //deadzone rýchlosti -#define h 540 //deadzone horná hranica -#define mid 500 //deadzone stred, výpočet prúdu začína od hk , aplikovanie prúdu na motor od h -#define d 420 //deadzone dolná hranica -#define joyres 1023 //rozlíšenie analogread , 10bit - 1023 , 12bit - 4095 -#define hlimit 0.95 //limit duty pre vyššie obtiažnosti -#define dlimit 0.50 //liit duty pre nižšie obtiažnosti -#define hholdchange 0.05 //maximálna zmena pri držaní hold , mod 3/4 , 1 - 100 -#define dholdchange 0.03 //maximálna zmena pri držaní hold , mod 1/2 , 1 - 100 -#define hbpower 20 //maximálna hodnota brzdiaceho prúdu, mod 3/4 -#define bbpower 10 //maximálna hodnota brzdiaceho prúdu, mod 1/2 - -//variable settings -int x = 0; //počiatočný stav info (0-6) -int modes = 1; //počiatočná hodnota mode (1-4) - -//variable definition -bool vali, valk, vall, hold, t, b, i, k, l, m, controller, usedcheck; //controller do byte , ak chcem full acces mode -int s, v, bpower, mm, hh; -int joy = mid; //počiatočné nastavenie stredu -float vduty, vvolt, vamp, vtach, vrpm, modelimit, holdchange, speed, dist, dutysaved, w, c, u, q; -float dmodes = modes; //modes pre počítanie s float hodnotami -unsigned long holdclock, throtle, oldtime, delaytime; //millis() timers -String timer = "00:00"; //prvotné zobrazenie -String message; -String messages = message; - -//connection settings -#define CHANNEL 1 -const char* SSID = "ElBoard"; -const char* PASS = "1234abcd"; //heslo iba pripojenie telefonom , na ovládač nefunguje -const byte DNS_PORT = 53; -IPAddress apIP(192, 168, 1, 1); - -//phone functions - command, control, direction, frontlight, rearlight, clocktimer, statusprinter, phonecontrol -//hand (controller) functions - OnDataRecv, handcontrol -//board functions - lights, vescvalues - -void command(Control sender, int type) { //phone - command control - char intext[10]; - sender.value.toCharArray(intext,10); - ESPUI.updateText("Command",""); - - //set time command - - if (intext[0] == 't') { - timer = String(intext[1]) + String(intext[2]) + String(':') + String(intext[3]) + String(intext[4]); - String timerhh = String(intext[1]) + String(intext[2]); - String timermm = String(intext[3]) + String(intext[4]); - hh = timerhh.toInt(); - mm = timermm.toInt(); - oldtime = millis(); - Serial.print("Time set: "); - Serial.println(String(timer)); - } - - //change control command - - else if (intext[0] == 'c') { - if (intext[1] == '1') { - controller = 1; - joy = mid; - Serial.println("phone control"); - } else if (intext[1] == '0') { - controller = 0; - Serial.println("hand control"); - } - } - - //not command - print input - - else { - Serial.println(sender.value); - } -} - -void control(Control sender, int value) { //phone - drive , info , mode - switch (value) { - case P_LEFT_DOWN: - x--; - if (x < 0) { - x = 6; - } - break; - case P_LEFT_UP: - break; - case P_RIGHT_DOWN: - x++; - if (x > 6) { - x = 0; - } - break; - case P_RIGHT_UP: - break; - case P_FOR_DOWN: - t = 1; - throtle = millis(); - Serial.println("Throtle"); - break; - case P_FOR_UP: - t = 0; - throtle = millis(); - break; - case P_BACK_DOWN: - b = 1; - Serial.println("Brake"); - break; - case P_BACK_UP: - b = 0; - break; - case P_CENTER_DOWN: - if (vduty < dutydead && controller == 1) { - modes = modes + 1; - if (modes >= 5) { - modes = 1; - } - dmodes = modes; - Serial.print("Mode: "); - Serial.println(modes); - } - break; - case P_CENTER_UP: - break; - } -} - -void direction(Control sender, int value) { //phone (control) - drive direction - if (vduty < dutydead && controller == 1) { - switch (value) { - case S_ACTIVE: - Serial.println("Backward"); - vali = 1; - break; - case S_INACTIVE: - Serial.println("Forward"); - vali = 0; - break; - } - } - delay(50); - ESPUI.updateSwitcher("Forward / Backward", vali); -} - -void frontlight(Control sender, int value) { //phone - front light - switch (value) { - case S_ACTIVE: - vall = 1; - Serial.print("Flight: "); - Serial.println(vall); - break; - case S_INACTIVE: - vall = 0; - Serial.print("Flight: "); - Serial.println(vall); - break; - } -} - -void rearlight(Control sender, int value) { //phone - rear light - switch (value) { - case S_ACTIVE: - valk = 1; - Serial.print("Rlight: "); - Serial.println(valk); - break; - case S_INACTIVE: - valk = 0; - Serial.print("Rlight: "); - Serial.println(valk); - break; - } -} - -void clocktimer() { //phone - timer basic settings - if (millis() - oldtime >= 60000) { - mm = mm + 1; - if (mm >= 60) { - hh = hh + 1; - mm = 0; - if (hh >= 24) { - hh = 0; - } - } - timer = String(hh) + String(':'); - if (hh < 10) timer = String('0') + String(timer); - if (mm < 10) timer = String(timer) + String('0'); - timer = timer + String(mm); - oldtime = millis(); - } -} - -void statusprinter() { //phone - info bar - if (x == 0){ - message = "Mode: "+String(modes); - } - else if (x == 1){ - message = "Battery: "+String(vvolt)+" V"; - } - else if (x == 2) { - message = "Current: "+String(vamp)+" A"; - } - else if (x == 3) { - speed = vrpm/7*0.375*3.14159265359*0.000075*60 //erpm / pólové dvojice motora (7)* prevodový pomer (18/48 - 0.375)* pi (3.14...) * velkosť kolesa v km (0.000075) * konštanta 60 min - message = "Speed: "+String(speed)+" km/h"; - } - else if (x == 4) { - vduty = vduty * 100; // 1 -> 100% - message = "Power: "+String(vduty)+" %"; - } - else if (x == 5) { - dist = vtach/7*0.375*3.14159265359*0.000075; //erpm tachometer / pólové dvojice motora (7)* prevodový pomer (18/48 - 0.375)* pi (3.14...) * velkosť kolesa v km (0.000075) - message = "Distance: "+String(dist)+" km"; - } - else if (x == 6) { - message = "Time: "+String(timer); - } - - if (message != messages) { - ESPUI.print("Info", message); - messages = message; - } -} - -void phonecontrol() { //phone - control motor - if (controller == 1) { - if (t == 1 && b == 0) { - if (millis() - throtle >= 250 && u >= 0 && u < dmodes * 5) { - throtle = millis(); - u = u + (0.05 * dmodes * 5); - } else if (u > dmodes * 5) { - u = dmodes * 5; - } - if (vali == 0) { - UART.setCurrent(u); //forward - } else if (vali == 1) { - UART.setCurrent(-u); //backward - } - } else if (t == 0 && b == 1) { - if (modes >= 3) c = hbpower; - if (modes <= 2) c = bbpower; - UART.setBrakeCurrent(c); - } else { - UART.setCurrent(0); - c = 0; - if (millis() - throtle >= 125 && u > 0) { - throtle = millis(); - u = u - (0.05 * dmodes * 5); - if (u < 0) { - u = 0; - } - } else if (vduty < dutydead) { - u = 0; - } - } - } -} - -void OnDataRecv(const uint8_t *mac_addr, const uint16_t data[6], int data_len) { //hand - funkcia ktora sa vykona len v prípade ,že sa obdržali dáta - char macStr[18]; - snprintf(macStr, sizeof(macStr), "%02x:%02x:%02x:%02x:%02x:%02x", mac_addr[0], mac_addr[1], mac_addr[2], mac_addr[3], mac_addr[4], mac_addr[5]); - - if (controller == 0) { - joy=data[0]; - - if (data[1] == 1) { - hold = 1; - } else { - hold = 0; - } - - if (data[2] == 1 && m == 0 && (d < joy && joy < h) && vduty < dutydead) { - m = 1; - modes++; - if (modes >= 5) { - modes = 1; - } - dmodes = modes; - } - if (data[2] == 0) { - m = 0; - } - - if (data[3] == 1 && l == 0) { - l = 1; - vall = !vall; - ESPUI.updateSwitcher("Front Light", vall); - } - if (data[3] == 0) { - l = 0; - } - - if (data[4] == 1 && k == 0) { - k = 1; - valk = !valk; - ESPUI.updateSwitcher("Rear Light", valk); - } - if (data[4] == 0) { - k = 0; - } - - if (data[5] == 1 && i == 0 && (d < joy && joy < h) && vduty < dutydead) { - i = 1; - vali = !vali; - ESPUI.updateSwitcher("Forward / Backward", vali); - } - if (data[5] == 0) { - i = 0; - } - } - - if (usedcheck == 0) { - usedcheck = 1; - Serial.println("connected"); - } - delaytime = millis(); -} - -void handcontrol() { //hand - control motor - - if (hold == 1) { //hold - drží aktuálnu rýchlosť - if (modes >= 3) holdchange = hholdchange; - if (modes <= 2) holdchange = dholdchange; - - if (joy >= h) { //hold + - v = joyres - mid; - s = joy - mid; - q = map(s , 0, v, 0, holdchange*1000); - q = q / 1000; - if (millis() - holdclock >= 250) { - if (vali == 1) dutysaved -= q; - if (vali == 0) dutysaved += q; - holdclock = millis(); - } - } - - if (joy <= d) { //hold - - w = d - joy; - q = map(w , 0, d, 0, holdchange*1000); - q = q / 1000; - if (millis() - holdclock >= 250) { - if (vali == 1) dutysaved += q; - if (vali == 0) dutysaved -= q; - holdclock = millis(); - } - } - - if (vali == 1 && dutysaved >= 0) dutysaved = 0; - if (vali == 0 && dutysaved <= 0) dutysaved = 0; - - UART.setDuty(dutysaved); - - } - - if (joy >= h && hold == 0) { //plyn - - v = joyres - mid; - s = joy - mid; - dutysaved = vduty; - if (modes >= 3) modelimit = hlimit; - if (modes <= 2) modelimit = dlimit; - - if (vduty < modelimit) { - u = map(s, 0, v, 0, dmodes*5*100); - u = u / 100; - } else { - u = 2; - } - - if (vali == 0) { - UART.setCurrent(u); //forward - } else if (vali == 1) { - UART.setCurrent(-u); //backward - } - } - - if (joy <= d && hold == 0) { //brzda - - if (modes >= 3) bpower = hbpower; - if (modes <= 2) bpower = bbpower; - - w = d - joy; - c = map(w, 0, d, 0, bpower * 100); - c = c / 100; - - UART.setBrakeCurrent(c); - } - - if (joy > d && joy < h && hold == 0) { //neutral - - c = 0; - w = 0; - u = 0; - s = 0; - - UART.setCurrent(0); - } - - if (hold == 0) { - - dutysaved = vduty; - - } -} - -void lights() { //board - lights - if (vall == 1) { - ledcWrite(1, 255 * fpow); - } - else { - ledcWrite(1, 0); - } - - if (valk == 1) { - if (b == 1 && controller == 1) { - ledcWrite(2, 255); - } else if (w > 0 && controller == 0) { - ledcWrite(2, 255 * (w / d * (1 - rpow) + rpow)); - } else { - ledcWrite(2, 255 * rpow); - } - } - else { - ledcWrite(2, 0); - } -} - -void vescvalues() { //board - vescvalues - if ( UART.getVescValues() ) { - vduty = UART.data.dutyCycleNow; - if (vduty < 0) { - vduty = -vduty; - } - vvolt = UART.data.inpVoltage; - vtach = UART.data.tachometerAbs; - vrpm = UART.data.rpm; - if (vrpm < 0) { - vrpm = -vrpm; - } - vamp = UART.data.avgInputCurrent; - } -} - -void setup() { - Serial.begin(115200); - WiFi.mode(WIFI_AP); - WiFi.softAPConfig(apIP, apIP, IPAddress(255, 255, 255, 0)); - WiFi.softAP(SSID, PASS, CHANNEL, 0); - WiFi.disconnect(); - if (esp_now_init() == ESP_OK) { - } - else { - ESP.restart(); - } - esp_now_register_recv_cb(OnDataRecv); - - ledcSetup(1, 5000, 8); - ledcSetup(2, 5000, 8); - ledcAttachPin(flight, 1); - ledcAttachPin(rlight, 2); - - DNS.start(DNS_PORT, "*", apIP); - - ESPUI.label("Info", COLOR_CARROT, message); - ESPUI.pad("Control", true, &control, COLOR_WETASPHALT); - ESPUI.switcher("Forward / Backward", false, &direction, COLOR_PETERRIVER); - ESPUI.switcher("Front Light", false, &frontlight, COLOR_SUNFLOWER); - ESPUI.switcher("Rear Light", false, &rearlight, COLOR_ALIZARIN); - ESPUI.text("Command", &command, COLOR_EMERALD, ""); - ESPUI.begin("El Board"); - - oldtime = millis(); - throtle = millis(); - holdclock = millis(); - delaytime = millis(); - - Serial2.begin(115200); - UART.setSerialPort(&Serial2); - // UART.setDebugPort(&Serial); -} - -void loop() { - - if (usedcheck == 1 && millis() - delaytime > 20) { - joy = mid; - usedcheck = 0; - Serial.println("connection lost"); - Serial.print("delay: "); - Serial.println(millis() - delaytime); - Serial.println("reloading . . ."); - } - - DNS.processNextRequest(); //phone - web control - - clocktimer(); - vescvalues(); - phonecontrol(); - handcontrol(); - lights(); - statusprinter(); - -} diff --git a/elboard v1.1/board/Slave/esp_now.h b/elboard v1.1/board/Slave/esp_now.h deleted file mode 100644 index 56c4a52..0000000 --- a/elboard v1.1/board/Slave/esp_now.h +++ /dev/null @@ -1,317 +0,0 @@ -// Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at - -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef __ESP_NOW_H__ -#define __ESP_NOW_H__ - -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/** \defgroup WiFi_APIs WiFi Related APIs - * @brief WiFi APIs - */ - -/** @addtogroup WiFi_APIs - * @{ - */ - -/** \defgroup ESPNOW_APIs ESPNOW APIs - * @brief ESP32 ESPNOW APIs - * - */ - -/** @addtogroup ESPNOW_APIs - * @{ - */ - -#define ESP_ERR_ESPNOW_BASE (ESP_ERR_WIFI_BASE + 100) /*!< ESPNOW error number base. */ -#define ESP_ERR_ESPNOW_NOT_INIT (ESP_ERR_ESPNOW_BASE + 1) /*!< ESPNOW is not initialized. */ -#define ESP_ERR_ESPNOW_ARG (ESP_ERR_ESPNOW_BASE + 2) /*!< Invalid argument */ -#define ESP_ERR_ESPNOW_NO_MEM (ESP_ERR_ESPNOW_BASE + 3) /*!< Out of memory */ -#define ESP_ERR_ESPNOW_FULL (ESP_ERR_ESPNOW_BASE + 4) /*!< ESPNOW peer list is full */ -#define ESP_ERR_ESPNOW_NOT_FOUND (ESP_ERR_ESPNOW_BASE + 5) /*!< ESPNOW peer is not found */ -#define ESP_ERR_ESPNOW_INTERNAL (ESP_ERR_ESPNOW_BASE + 6) /*!< Internal error */ -#define ESP_ERR_ESPNOW_EXIST (ESP_ERR_ESPNOW_BASE + 7) /*!< ESPNOW peer has existed */ -#define ESP_ERR_ESPNOW_IF (ESP_ERR_ESPNOW_BASE + 8) /*!< Interface error */ - -#define ESP_NOW_ETH_ALEN 6 /*!< Length of ESPNOW peer MAC address */ -#define ESP_NOW_KEY_LEN 16 /*!< Length of ESPNOW peer local master key */ - -#define ESP_NOW_MAX_TOTAL_PEER_NUM 20 /*!< Maximum number of ESPNOW total peers */ -#define ESP_NOW_MAX_ENCRYPT_PEER_NUM 6 /*!< Maximum number of ESPNOW encrypted peers */ - -#define ESP_NOW_MAX_DATA_LEN 16000 /*!< Maximum length of ESPNOW data which is sent very time */ - -/** - * @brief Status of sending ESPNOW data . - */ -typedef enum { - ESP_NOW_SEND_SUCCESS = 0, /**< Send ESPNOW data successfully */ - ESP_NOW_SEND_FAIL, /**< Send ESPNOW data fail */ -} esp_now_send_status_t; - -/** - * @brief ESPNOW peer information parameters. - */ -typedef struct esp_now_peer_info { - uint8_t peer_addr[ESP_NOW_ETH_ALEN]; /**< ESPNOW peer MAC address that is also the MAC address of station or softap */ - uint8_t lmk[ESP_NOW_KEY_LEN]; /**< ESPNOW peer local master key that is used to encrypt data */ - uint8_t channel; /**< Wi-Fi channel that peer uses to send/receive ESPNOW data. If the value is 0, - use the current channel which station or softap is on. Otherwise, it must be - set as the channel that station or softap is on. */ - wifi_interface_t ifidx; /**< Wi-Fi interface that peer uses to send/receive ESPNOW data */ - bool encrypt; /**< ESPNOW data that this peer sends/receives is encrypted or not */ - void *priv; /**< ESPNOW peer private data */ -} esp_now_peer_info_t; - -/** - * @brief Number of ESPNOW peers which exist currently. - */ -typedef struct esp_now_peer_num { - int total_num; /**< Total number of ESPNOW peers, maximum value is ESP_NOW_MAX_TOTAL_PEER_NUM */ - int encrypt_num; /**< Number of encrypted ESPNOW peers, maximum value is ESP_NOW_MAX_ENCRYPT_PEER_NUM */ -} esp_now_peer_num_t; - -/** - * @brief Callback function of receiving ESPNOW data - * @param mac_addr peer MAC address - * @param data received data - * @param data_len length of received data - */ -typedef void (*esp_now_recv_cb_t)(const uint8_t *mac_addr, const uint16_t *data, int data_len); - -/** - * @brief Callback function of sending ESPNOW data - * @param mac_addr peer MAC address - * @param status status of sending ESPNOW data (succeed or fail) - */ -typedef void (*esp_now_send_cb_t)(const uint8_t *mac_addr, esp_now_send_status_t status); - -/** - * @brief Initialize ESPNOW function - * - * @return - * - ESP_OK : succeed - * - ESP_ERR_ESPNOW_INTERNAL : Internal error - */ -esp_err_t esp_now_init(void); - -/** - * @brief De-initialize ESPNOW function - * - * @return - * - ESP_OK : succeed - */ -esp_err_t esp_now_deinit(void); - -/** - * @brief Get the version of ESPNOW - * - * @param version ESPNOW version - * - * @return - * - ESP_OK : succeed - * - ESP_ERR_ESPNOW_ARG : invalid argument - */ -esp_err_t esp_now_get_version(uint32_t *version); - -/** - * @brief Register callback function of receiving ESPNOW data - * - * @param cb callback function of receiving ESPNOW data - * - * @return - * - ESP_OK : succeed - * - ESP_ERR_ESPNOW_NOT_INIT : ESPNOW is not initialized - * - ESP_ERR_ESPNOW_INTERNAL : internal error - */ -esp_err_t esp_now_register_recv_cb(esp_now_recv_cb_t cb); - -/** - * @brief Unregister callback function of receiving ESPNOW data - * - * @return - * - ESP_OK : succeed - * - ESP_ERR_ESPNOW_NOT_INIT : ESPNOW is not initialized - */ -esp_err_t esp_now_unregister_recv_cb(void); - -/** - * @brief Register callback function of sending ESPNOW data - * - * @param cb callback function of sending ESPNOW data - * - * @return - * - ESP_OK : succeed - * - ESP_ERR_ESPNOW_NOT_INIT : ESPNOW is not initialized - * - ESP_ERR_ESPNOW_INTERNAL : internal error - */ -esp_err_t esp_now_register_send_cb(esp_now_send_cb_t cb); - -/** - * @brief Unregister callback function of sending ESPNOW data - * - * @return - * - ESP_OK : succeed - * - ESP_ERR_ESPNOW_NOT_INIT : ESPNOW is not initialized - */ -esp_err_t esp_now_unregister_send_cb(void); - -/** - * @brief Send ESPNOW data - * - * @attention 1. If peer_addr is not NULL, send data to the peer whose MAC address matches peer_addr - * @attention 2. If peer_addr is NULL, send data to all of the peers that are added to the peer list - * @attention 3. The maximum length of data must be less than ESP_NOW_MAX_DATA_LEN - * @attention 4. The buffer pointed to by data argument does not need to be valid after esp_now_send returns - * - * @param peer_addr peer MAC address - * @param data data to send - * @param len length of data - * - * @return - * - ESP_OK : succeed - * - ESP_ERR_ESPNOW_NOT_INIT : ESPNOW is not initialized - * - ESP_ERR_ESPNOW_ARG : invalid argument - * - ESP_ERR_ESPNOW_INTERNAL : internal error - * - ESP_ERR_ESPNOW_NO_MEM : out of memory - * - ESP_ERR_ESPNOW_NOT_FOUND : peer is not found - * - ESP_ERR_ESPNOW_IF : current WiFi interface doesn't match that of peer - */ -esp_err_t esp_now_send(const uint8_t *peer_addr, const uint16_t *data, size_t len); - -/** - * @brief Add a peer to peer list - * - * @param peer peer information - * - * @return - * - ESP_OK : succeed - * - ESP_ERR_ESPNOW_NOT_INIT : ESPNOW is not initialized - * - ESP_ERR_ESPNOW_ARG : invalid argument - * - ESP_ERR_ESPNOW_FULL : peer list is full - * - ESP_ERR_ESPNOW_NO_MEM : out of memory - * - ESP_ERR_ESPNOW_EXIST : peer has existed - */ -esp_err_t esp_now_add_peer(const esp_now_peer_info_t *peer); - -/** - * @brief Delete a peer from peer list - * - * @param peer_addr peer MAC address - * - * @return - * - ESP_OK : succeed - * - ESP_ERR_ESPNOW_NOT_INIT : ESPNOW is not initialized - * - ESP_ERR_ESPNOW_ARG : invalid argument - * - ESP_ERR_ESPNOW_NOT_FOUND : peer is not found - */ -esp_err_t esp_now_del_peer(const uint8_t *peer_addr); - -/** - * @brief Modify a peer - * - * @param peer peer information - * - * @return - * - ESP_OK : succeed - * - ESP_ERR_ESPNOW_NOT_INIT : ESPNOW is not initialized - * - ESP_ERR_ESPNOW_ARG : invalid argument - * - ESP_ERR_ESPNOW_FULL : peer list is full - */ -esp_err_t esp_now_mod_peer(const esp_now_peer_info_t *peer); - -/** - * @brief Get a peer whose MAC address matches peer_addr from peer list - * - * @param peer_addr peer MAC address - * @param peer peer information - * - * @return - * - ESP_OK : succeed - * - ESP_ERR_ESPNOW_NOT_INIT : ESPNOW is not initialized - * - ESP_ERR_ESPNOW_ARG : invalid argument - * - ESP_ERR_ESPNOW_NOT_FOUND : peer is not found - */ -esp_err_t esp_now_get_peer(const uint8_t *peer_addr, esp_now_peer_info_t *peer); - -/** - * @brief Fetch a peer from peer list - * - * @param from_head fetch from head of list or not - * @param peer peer information - * - * @return - * - ESP_OK : succeed - * - ESP_ERR_ESPNOW_NOT_INIT : ESPNOW is not initialized - * - ESP_ERR_ESPNOW_ARG : invalid argument - * - ESP_ERR_ESPNOW_NOT_FOUND : peer is not found - */ -esp_err_t esp_now_fetch_peer(bool from_head, esp_now_peer_info_t *peer); - -/** - * @brief Peer exists or not - * - * @param peer_addr peer MAC address - * - * @return - * - true : peer exists - * - false : peer not exists - */ -bool esp_now_is_peer_exist(const uint8_t *peer_addr); - -/** - * @brief Get the number of peers - * - * @param num number of peers - * - * @return - * - ESP_OK : succeed - * - ESP_ERR_ESPNOW_NOT_INIT : ESPNOW is not initialized - * - ESP_ERR_ESPNOW_ARG : invalid argument - */ -esp_err_t esp_now_get_peer_num(esp_now_peer_num_t *num); - -/** - * @brief Set the primary master key - * - * @param pmk primary master key - * - * @attention 1. primary master key is used to encrypt local master key - * - * @return - * - ESP_OK : succeed - * - ESP_ERR_ESPNOW_NOT_INIT : ESPNOW is not initialized - * - ESP_ERR_ESPNOW_ARG : invalid argument - */ -esp_err_t esp_now_set_pmk(const uint8_t *pmk); - -/** - * @} - */ - -/** - * @} - */ - -#ifdef __cplusplus -} -#endif - -#endif /* __ESP_NOW_H__ */ diff --git a/elboard v1.1/hand/Master/Master.ino b/elboard v1.1/hand/Master/Master.ino deleted file mode 100644 index 7b77b07..0000000 --- a/elboard v1.1/hand/Master/Master.ino +++ /dev/null @@ -1,174 +0,0 @@ -//libraries -#include //hand control -#include //analog to digital library , joy needed -#include "esp_now.h" //upravené hodnoty prenosu - -//pin layout (input) -#define throtle 32 //analog, throtle / brake value -#define hold 2 //digital, hold speed control -#define modes 13 //digital, mode switch -#define flight 16 //digital, front light control -#define rlight 17 //digital, rear light control -#define rotation 4 //digital, drive rotation control - -//value settings -#define sleepin 0x000000004 //hex - 2 wake up pin -#define afktime 30000 //millis without any change , deepsleep -#define sleepdead 50 //odchýlka od deadzone + aj - , zvykne občas skočiť hodnota -#define h 540 //deadzone horná hranica -#define mid 500 //deadzone stred, výpočet prúdu začína od hk , aplikovanie prúdu na motor od h -#define d 420 //deadzone dolná hranica - -//variable definition -bool reset; -unsigned long oldtime; - -//connection settings -uint16_t data[6]; //array, data for transfer, same type in espnow.h -String boardname = "ElBoard"; //rovnake ako ssid v slave -esp_now_peer_info_t slave; -#define CHANNEL 3 - -//hand (controller) functions - ScanForSlave, manageSlave, OnDataSent, transferProcess, getData - -void ScanForSlave() { - int8_t scanResults = WiFi.scanNetworks(); - bool slaveFound = 0; - memset(&slave, 0, sizeof(slave)); - - if (scanResults != 0) { - for (int i = 0; i < scanResults; ++i) { - String SSID = WiFi.SSID(i); - int32_t RSSI = WiFi.RSSI(i); - String BSSIDstr = WiFi.BSSIDstr(i); - delay(10); - if (SSID.indexOf(boardname) == 0) { - int mac[6]; - if ( 6 == sscanf(BSSIDstr.c_str(), "%x:%x:%x:%x:%x:%x%c", &mac[0], &mac[1], &mac[2], &mac[3], &mac[4], &mac[5] ) ) { - for (int j = 0; j < 6; ++j ) { - slave.peer_addr[j] = (uint8_t) mac[j]; - } - } - slave.channel = CHANNEL; // pick a channel - slave.encrypt = 0; // no encryption - slaveFound = 1; - break; - } - } - } - - WiFi.scanDelete(); // clean up ram -} - -bool manageSlave() { - if (slave.channel == CHANNEL) { - const esp_now_peer_info_t *peer = &slave; - const uint8_t *peer_addr = slave.peer_addr; - bool exists = esp_now_is_peer_exist(peer_addr); - if ( exists) { - return true; - } else { - esp_err_t addStatus = esp_now_add_peer(peer); - } - } else { - return false; - } -} - -void OnDataSent(const uint8_t *mac_addr, esp_now_send_status_t status) { - char macStr[18]; - snprintf(macStr, sizeof(macStr), "%02x:%02x:%02x:%02x:%02x:%02x", mac_addr[0], mac_addr[1], mac_addr[2], mac_addr[3], mac_addr[4], mac_addr[5]); - // if (status == ESP_NOW_SEND_SUCCESS) {} //vykoná pri prijatí/(!)neprijatí dát -} - -void transferProcess() { - // ScanForSlave(); //spomalené esp ak sa opakuje vždy pred prenosom - if (slave.channel == CHANNEL) { - bool isPaired = manageSlave(); - if (isPaired) { - const uint8_t *peer_addr = slave.peer_addr; - esp_now_send(peer_addr, data, sizeof(data)); //esp_err_t result = - } - } -} - -void getData(String dataval) { - - if (dataval == "sensor") { //put values from sensor into data var - data[0]=adc1_get_raw(ADC1_CHANNEL_4); // data[0]=analogRead(throtle); - data[1]=digitalRead(hold); - data[2]=digitalRead(modes); - data[3]=digitalRead(flight); - data[4]=digitalRead(rlight); - data[5]=digitalRead(rotation); - } - else if (dataval == "default") { //put default values into data var - data[0]=mid; - data[1]=0; - data[2]=0; - data[3]=0; - data[4]=0; - data[5]=0; - } -} - -void powersleep () { - if (data[0] <= h + sleepdead && data[0] >= d - sleepdead && data[1] == 0 && data[2] == 0 && data[3] == 0 && data[4] == 0 && data[5] == 0) { - - if (reset == 0) { - - oldtime = millis(); - reset = 1; - - } else if (millis() - oldtime >= afktime) { - - getData("default"); - transferProcess(); - - Serial.println("deepsleep"); - esp_deep_sleep_start(); - } - - } else { - - reset = 0; - - } -} - -void setup() { - - Serial.begin(115200); //len v prípade debugu - - WiFi.mode(WIFI_STA); - WiFi.disconnect(); - if (esp_now_init() != ESP_OK) { ESP.restart(); } - esp_now_register_send_cb(OnDataSent); - ScanForSlave(); //spomalený prenos ... ak sa opakuje vždy pred odoslaním - - pinMode(throtle,INPUT); - pinMode(hold,INPUT_PULLDOWN); - pinMode(modes,INPUT_PULLDOWN); - pinMode(flight,INPUT_PULLDOWN); - pinMode(rlight,INPUT_PULLDOWN); - pinMode(rotation,INPUT_PULLDOWN); - - esp_sleep_enable_ext1_wakeup(sleepin,ESP_EXT1_WAKEUP_ANY_HIGH); - - adc1_config_width(ADC_WIDTH_BIT_10); - adc1_config_channel_atten(ADC1_CHANNEL_4,ADC_ATTEN_DB_11); - -} - -void loop() { - - getData("sensor"); - transferProcess(); - delay(2); - powersleep(); - - // if (reset == 1) { - // Serial.print(" "); - // Serial.print((afktime-(millis()-oldtime))/1000); - // } -} diff --git a/elboard v1.1/hand/Master/esp_now.h b/elboard v1.1/hand/Master/esp_now.h deleted file mode 100644 index 56c4a52..0000000 --- a/elboard v1.1/hand/Master/esp_now.h +++ /dev/null @@ -1,317 +0,0 @@ -// Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at - -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef __ESP_NOW_H__ -#define __ESP_NOW_H__ - -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/** \defgroup WiFi_APIs WiFi Related APIs - * @brief WiFi APIs - */ - -/** @addtogroup WiFi_APIs - * @{ - */ - -/** \defgroup ESPNOW_APIs ESPNOW APIs - * @brief ESP32 ESPNOW APIs - * - */ - -/** @addtogroup ESPNOW_APIs - * @{ - */ - -#define ESP_ERR_ESPNOW_BASE (ESP_ERR_WIFI_BASE + 100) /*!< ESPNOW error number base. */ -#define ESP_ERR_ESPNOW_NOT_INIT (ESP_ERR_ESPNOW_BASE + 1) /*!< ESPNOW is not initialized. */ -#define ESP_ERR_ESPNOW_ARG (ESP_ERR_ESPNOW_BASE + 2) /*!< Invalid argument */ -#define ESP_ERR_ESPNOW_NO_MEM (ESP_ERR_ESPNOW_BASE + 3) /*!< Out of memory */ -#define ESP_ERR_ESPNOW_FULL (ESP_ERR_ESPNOW_BASE + 4) /*!< ESPNOW peer list is full */ -#define ESP_ERR_ESPNOW_NOT_FOUND (ESP_ERR_ESPNOW_BASE + 5) /*!< ESPNOW peer is not found */ -#define ESP_ERR_ESPNOW_INTERNAL (ESP_ERR_ESPNOW_BASE + 6) /*!< Internal error */ -#define ESP_ERR_ESPNOW_EXIST (ESP_ERR_ESPNOW_BASE + 7) /*!< ESPNOW peer has existed */ -#define ESP_ERR_ESPNOW_IF (ESP_ERR_ESPNOW_BASE + 8) /*!< Interface error */ - -#define ESP_NOW_ETH_ALEN 6 /*!< Length of ESPNOW peer MAC address */ -#define ESP_NOW_KEY_LEN 16 /*!< Length of ESPNOW peer local master key */ - -#define ESP_NOW_MAX_TOTAL_PEER_NUM 20 /*!< Maximum number of ESPNOW total peers */ -#define ESP_NOW_MAX_ENCRYPT_PEER_NUM 6 /*!< Maximum number of ESPNOW encrypted peers */ - -#define ESP_NOW_MAX_DATA_LEN 16000 /*!< Maximum length of ESPNOW data which is sent very time */ - -/** - * @brief Status of sending ESPNOW data . - */ -typedef enum { - ESP_NOW_SEND_SUCCESS = 0, /**< Send ESPNOW data successfully */ - ESP_NOW_SEND_FAIL, /**< Send ESPNOW data fail */ -} esp_now_send_status_t; - -/** - * @brief ESPNOW peer information parameters. - */ -typedef struct esp_now_peer_info { - uint8_t peer_addr[ESP_NOW_ETH_ALEN]; /**< ESPNOW peer MAC address that is also the MAC address of station or softap */ - uint8_t lmk[ESP_NOW_KEY_LEN]; /**< ESPNOW peer local master key that is used to encrypt data */ - uint8_t channel; /**< Wi-Fi channel that peer uses to send/receive ESPNOW data. If the value is 0, - use the current channel which station or softap is on. Otherwise, it must be - set as the channel that station or softap is on. */ - wifi_interface_t ifidx; /**< Wi-Fi interface that peer uses to send/receive ESPNOW data */ - bool encrypt; /**< ESPNOW data that this peer sends/receives is encrypted or not */ - void *priv; /**< ESPNOW peer private data */ -} esp_now_peer_info_t; - -/** - * @brief Number of ESPNOW peers which exist currently. - */ -typedef struct esp_now_peer_num { - int total_num; /**< Total number of ESPNOW peers, maximum value is ESP_NOW_MAX_TOTAL_PEER_NUM */ - int encrypt_num; /**< Number of encrypted ESPNOW peers, maximum value is ESP_NOW_MAX_ENCRYPT_PEER_NUM */ -} esp_now_peer_num_t; - -/** - * @brief Callback function of receiving ESPNOW data - * @param mac_addr peer MAC address - * @param data received data - * @param data_len length of received data - */ -typedef void (*esp_now_recv_cb_t)(const uint8_t *mac_addr, const uint16_t *data, int data_len); - -/** - * @brief Callback function of sending ESPNOW data - * @param mac_addr peer MAC address - * @param status status of sending ESPNOW data (succeed or fail) - */ -typedef void (*esp_now_send_cb_t)(const uint8_t *mac_addr, esp_now_send_status_t status); - -/** - * @brief Initialize ESPNOW function - * - * @return - * - ESP_OK : succeed - * - ESP_ERR_ESPNOW_INTERNAL : Internal error - */ -esp_err_t esp_now_init(void); - -/** - * @brief De-initialize ESPNOW function - * - * @return - * - ESP_OK : succeed - */ -esp_err_t esp_now_deinit(void); - -/** - * @brief Get the version of ESPNOW - * - * @param version ESPNOW version - * - * @return - * - ESP_OK : succeed - * - ESP_ERR_ESPNOW_ARG : invalid argument - */ -esp_err_t esp_now_get_version(uint32_t *version); - -/** - * @brief Register callback function of receiving ESPNOW data - * - * @param cb callback function of receiving ESPNOW data - * - * @return - * - ESP_OK : succeed - * - ESP_ERR_ESPNOW_NOT_INIT : ESPNOW is not initialized - * - ESP_ERR_ESPNOW_INTERNAL : internal error - */ -esp_err_t esp_now_register_recv_cb(esp_now_recv_cb_t cb); - -/** - * @brief Unregister callback function of receiving ESPNOW data - * - * @return - * - ESP_OK : succeed - * - ESP_ERR_ESPNOW_NOT_INIT : ESPNOW is not initialized - */ -esp_err_t esp_now_unregister_recv_cb(void); - -/** - * @brief Register callback function of sending ESPNOW data - * - * @param cb callback function of sending ESPNOW data - * - * @return - * - ESP_OK : succeed - * - ESP_ERR_ESPNOW_NOT_INIT : ESPNOW is not initialized - * - ESP_ERR_ESPNOW_INTERNAL : internal error - */ -esp_err_t esp_now_register_send_cb(esp_now_send_cb_t cb); - -/** - * @brief Unregister callback function of sending ESPNOW data - * - * @return - * - ESP_OK : succeed - * - ESP_ERR_ESPNOW_NOT_INIT : ESPNOW is not initialized - */ -esp_err_t esp_now_unregister_send_cb(void); - -/** - * @brief Send ESPNOW data - * - * @attention 1. If peer_addr is not NULL, send data to the peer whose MAC address matches peer_addr - * @attention 2. If peer_addr is NULL, send data to all of the peers that are added to the peer list - * @attention 3. The maximum length of data must be less than ESP_NOW_MAX_DATA_LEN - * @attention 4. The buffer pointed to by data argument does not need to be valid after esp_now_send returns - * - * @param peer_addr peer MAC address - * @param data data to send - * @param len length of data - * - * @return - * - ESP_OK : succeed - * - ESP_ERR_ESPNOW_NOT_INIT : ESPNOW is not initialized - * - ESP_ERR_ESPNOW_ARG : invalid argument - * - ESP_ERR_ESPNOW_INTERNAL : internal error - * - ESP_ERR_ESPNOW_NO_MEM : out of memory - * - ESP_ERR_ESPNOW_NOT_FOUND : peer is not found - * - ESP_ERR_ESPNOW_IF : current WiFi interface doesn't match that of peer - */ -esp_err_t esp_now_send(const uint8_t *peer_addr, const uint16_t *data, size_t len); - -/** - * @brief Add a peer to peer list - * - * @param peer peer information - * - * @return - * - ESP_OK : succeed - * - ESP_ERR_ESPNOW_NOT_INIT : ESPNOW is not initialized - * - ESP_ERR_ESPNOW_ARG : invalid argument - * - ESP_ERR_ESPNOW_FULL : peer list is full - * - ESP_ERR_ESPNOW_NO_MEM : out of memory - * - ESP_ERR_ESPNOW_EXIST : peer has existed - */ -esp_err_t esp_now_add_peer(const esp_now_peer_info_t *peer); - -/** - * @brief Delete a peer from peer list - * - * @param peer_addr peer MAC address - * - * @return - * - ESP_OK : succeed - * - ESP_ERR_ESPNOW_NOT_INIT : ESPNOW is not initialized - * - ESP_ERR_ESPNOW_ARG : invalid argument - * - ESP_ERR_ESPNOW_NOT_FOUND : peer is not found - */ -esp_err_t esp_now_del_peer(const uint8_t *peer_addr); - -/** - * @brief Modify a peer - * - * @param peer peer information - * - * @return - * - ESP_OK : succeed - * - ESP_ERR_ESPNOW_NOT_INIT : ESPNOW is not initialized - * - ESP_ERR_ESPNOW_ARG : invalid argument - * - ESP_ERR_ESPNOW_FULL : peer list is full - */ -esp_err_t esp_now_mod_peer(const esp_now_peer_info_t *peer); - -/** - * @brief Get a peer whose MAC address matches peer_addr from peer list - * - * @param peer_addr peer MAC address - * @param peer peer information - * - * @return - * - ESP_OK : succeed - * - ESP_ERR_ESPNOW_NOT_INIT : ESPNOW is not initialized - * - ESP_ERR_ESPNOW_ARG : invalid argument - * - ESP_ERR_ESPNOW_NOT_FOUND : peer is not found - */ -esp_err_t esp_now_get_peer(const uint8_t *peer_addr, esp_now_peer_info_t *peer); - -/** - * @brief Fetch a peer from peer list - * - * @param from_head fetch from head of list or not - * @param peer peer information - * - * @return - * - ESP_OK : succeed - * - ESP_ERR_ESPNOW_NOT_INIT : ESPNOW is not initialized - * - ESP_ERR_ESPNOW_ARG : invalid argument - * - ESP_ERR_ESPNOW_NOT_FOUND : peer is not found - */ -esp_err_t esp_now_fetch_peer(bool from_head, esp_now_peer_info_t *peer); - -/** - * @brief Peer exists or not - * - * @param peer_addr peer MAC address - * - * @return - * - true : peer exists - * - false : peer not exists - */ -bool esp_now_is_peer_exist(const uint8_t *peer_addr); - -/** - * @brief Get the number of peers - * - * @param num number of peers - * - * @return - * - ESP_OK : succeed - * - ESP_ERR_ESPNOW_NOT_INIT : ESPNOW is not initialized - * - ESP_ERR_ESPNOW_ARG : invalid argument - */ -esp_err_t esp_now_get_peer_num(esp_now_peer_num_t *num); - -/** - * @brief Set the primary master key - * - * @param pmk primary master key - * - * @attention 1. primary master key is used to encrypt local master key - * - * @return - * - ESP_OK : succeed - * - ESP_ERR_ESPNOW_NOT_INIT : ESPNOW is not initialized - * - ESP_ERR_ESPNOW_ARG : invalid argument - */ -esp_err_t esp_now_set_pmk(const uint8_t *pmk); - -/** - * @} - */ - -/** - * @} - */ - -#ifdef __cplusplus -} -#endif - -#endif /* __ESP_NOW_H__ */ diff --git a/elboard v1.1/readme.txt b/elboard v1.1/readme.txt deleted file mode 100644 index f779676..0000000 --- a/elboard v1.1/readme.txt +++ /dev/null @@ -1,6 +0,0 @@ -+ install - -esp32 libraries -arduinojson-master -ESPAsyncWebServer-master -AsyncTCP-master \ No newline at end of file diff --git a/elboard v1.1/board/Slave/ESPUI-master/.github/ISSUE_TEMPLATE/bug_report.md b/elboard v1.2/ESPUI-master/.github/ISSUE_TEMPLATE/bug_report.md similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/.github/ISSUE_TEMPLATE/bug_report.md rename to elboard v1.2/ESPUI-master/.github/ISSUE_TEMPLATE/bug_report.md diff --git a/elboard v1.1/board/Slave/ESPUI-master/.github/ISSUE_TEMPLATE/feature_request.md b/elboard v1.2/ESPUI-master/.github/ISSUE_TEMPLATE/feature_request.md similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/.github/ISSUE_TEMPLATE/feature_request.md rename to elboard v1.2/ESPUI-master/.github/ISSUE_TEMPLATE/feature_request.md diff --git a/elboard v1.1/board/Slave/ESPUI-master/.gitignore b/elboard v1.2/ESPUI-master/.gitignore similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/.gitignore rename to elboard v1.2/ESPUI-master/.gitignore diff --git a/elboard v1.1/board/Slave/ESPUI-master/ESPUI_blocks.js b/elboard v1.2/ESPUI-master/ESPUI_blocks.js similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/ESPUI_blocks.js rename to elboard v1.2/ESPUI-master/ESPUI_blocks.js diff --git a/elboard v1.1/board/Slave/ESPUI-master/LICENSE b/elboard v1.2/ESPUI-master/LICENSE similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/LICENSE rename to elboard v1.2/ESPUI-master/LICENSE diff --git a/elboard v1.1/board/Slave/ESPUI-master/README.md b/elboard v1.2/ESPUI-master/README.md similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/README.md rename to elboard v1.2/ESPUI-master/README.md diff --git a/elboard v1.1/board/Slave/ESPUI-master/docs/Memory ESP32.png b/elboard v1.2/ESPUI-master/docs/Memory ESP32.png similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/docs/Memory ESP32.png rename to elboard v1.2/ESPUI-master/docs/Memory ESP32.png diff --git a/elboard v1.1/board/Slave/ESPUI-master/docs/Memory ESP8266.png b/elboard v1.2/ESPUI-master/docs/Memory ESP8266.png similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/docs/Memory ESP8266.png rename to elboard v1.2/ESPUI-master/docs/Memory ESP8266.png diff --git a/elboard v1.1/board/Slave/ESPUI-master/docs/SPIFFS ESP32.png b/elboard v1.2/ESPUI-master/docs/SPIFFS ESP32.png similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/docs/SPIFFS ESP32.png rename to elboard v1.2/ESPUI-master/docs/SPIFFS ESP32.png diff --git a/elboard v1.1/board/Slave/ESPUI-master/docs/SPIFFS ESP8266.png b/elboard v1.2/ESPUI-master/docs/SPIFFS ESP8266.png similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/docs/SPIFFS ESP8266.png rename to elboard v1.2/ESPUI-master/docs/SPIFFS ESP8266.png diff --git a/elboard v1.1/board/Slave/ESPUI-master/docs/ui_button.png b/elboard v1.2/ESPUI-master/docs/ui_button.png similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/docs/ui_button.png rename to elboard v1.2/ESPUI-master/docs/ui_button.png diff --git a/elboard v1.1/board/Slave/ESPUI-master/docs/ui_complete.png b/elboard v1.2/ESPUI-master/docs/ui_complete.png similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/docs/ui_complete.png rename to elboard v1.2/ESPUI-master/docs/ui_complete.png diff --git a/elboard v1.1/board/Slave/ESPUI-master/docs/ui_controlpad.png b/elboard v1.2/ESPUI-master/docs/ui_controlpad.png similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/docs/ui_controlpad.png rename to elboard v1.2/ESPUI-master/docs/ui_controlpad.png diff --git a/elboard v1.1/board/Slave/ESPUI-master/docs/ui_labels.png b/elboard v1.2/ESPUI-master/docs/ui_labels.png similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/docs/ui_labels.png rename to elboard v1.2/ESPUI-master/docs/ui_labels.png diff --git a/elboard v1.1/board/Slave/ESPUI-master/docs/ui_slider.png b/elboard v1.2/ESPUI-master/docs/ui_slider.png similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/docs/ui_slider.png rename to elboard v1.2/ESPUI-master/docs/ui_slider.png diff --git a/elboard v1.1/board/Slave/ESPUI-master/docs/ui_status.png b/elboard v1.2/ESPUI-master/docs/ui_status.png similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/docs/ui_status.png rename to elboard v1.2/ESPUI-master/docs/ui_status.png diff --git a/elboard v1.1/board/Slave/ESPUI-master/docs/ui_switches.png b/elboard v1.2/ESPUI-master/docs/ui_switches.png similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/docs/ui_switches.png rename to elboard v1.2/ESPUI-master/docs/ui_switches.png diff --git a/elboard v1.1/board/Slave/ESPUI-master/examples/gui/data/css/normalize.css b/elboard v1.2/ESPUI-master/examples/gui/data/css/normalize.css similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/examples/gui/data/css/normalize.css rename to elboard v1.2/ESPUI-master/examples/gui/data/css/normalize.css diff --git a/elboard v1.1/board/Slave/ESPUI-master/examples/gui/data/css/normalize.min.css b/elboard v1.2/ESPUI-master/examples/gui/data/css/normalize.min.css similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/examples/gui/data/css/normalize.min.css rename to elboard v1.2/ESPUI-master/examples/gui/data/css/normalize.min.css diff --git a/elboard v1.1/board/Slave/ESPUI-master/examples/gui/data/css/style.css b/elboard v1.2/ESPUI-master/examples/gui/data/css/style.css similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/examples/gui/data/css/style.css rename to elboard v1.2/ESPUI-master/examples/gui/data/css/style.css diff --git a/elboard v1.1/board/Slave/ESPUI-master/examples/gui/data/css/style.min.css b/elboard v1.2/ESPUI-master/examples/gui/data/css/style.min.css similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/examples/gui/data/css/style.min.css rename to elboard v1.2/ESPUI-master/examples/gui/data/css/style.min.css diff --git a/elboard v1.1/board/Slave/ESPUI-master/examples/gui/data/index.htm b/elboard v1.2/ESPUI-master/examples/gui/data/index.htm similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/examples/gui/data/index.htm rename to elboard v1.2/ESPUI-master/examples/gui/data/index.htm diff --git a/elboard v1.1/board/Slave/ESPUI-master/examples/gui/data/index.min.htm b/elboard v1.2/ESPUI-master/examples/gui/data/index.min.htm similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/examples/gui/data/index.min.htm rename to elboard v1.2/ESPUI-master/examples/gui/data/index.min.htm diff --git a/elboard v1.1/board/Slave/ESPUI-master/examples/gui/data/js/controls.js b/elboard v1.2/ESPUI-master/examples/gui/data/js/controls.js similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/examples/gui/data/js/controls.js rename to elboard v1.2/ESPUI-master/examples/gui/data/js/controls.js diff --git a/elboard v1.1/board/Slave/ESPUI-master/examples/gui/data/js/controls.min.js b/elboard v1.2/ESPUI-master/examples/gui/data/js/controls.min.js similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/examples/gui/data/js/controls.min.js rename to elboard v1.2/ESPUI-master/examples/gui/data/js/controls.min.js diff --git a/elboard v1.1/board/Slave/ESPUI-master/examples/gui/data/js/slider.js b/elboard v1.2/ESPUI-master/examples/gui/data/js/slider.js similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/examples/gui/data/js/slider.js rename to elboard v1.2/ESPUI-master/examples/gui/data/js/slider.js diff --git a/elboard v1.1/board/Slave/ESPUI-master/examples/gui/data/js/slider.min.js b/elboard v1.2/ESPUI-master/examples/gui/data/js/slider.min.js similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/examples/gui/data/js/slider.min.js rename to elboard v1.2/ESPUI-master/examples/gui/data/js/slider.min.js diff --git a/elboard v1.1/board/Slave/ESPUI-master/examples/gui/data/js/zepto.min.js b/elboard v1.2/ESPUI-master/examples/gui/data/js/zepto.min.js similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/examples/gui/data/js/zepto.min.js rename to elboard v1.2/ESPUI-master/examples/gui/data/js/zepto.min.js diff --git a/elboard v1.1/board/Slave/ESPUI-master/examples/gui/gui.ino b/elboard v1.2/ESPUI-master/examples/gui/gui.ino similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/examples/gui/gui.ino rename to elboard v1.2/ESPUI-master/examples/gui/gui.ino diff --git a/elboard v1.1/board/Slave/ESPUI-master/examples/prepareFilesystem/prepareFilesystem.ino b/elboard v1.2/ESPUI-master/examples/prepareFilesystem/prepareFilesystem.ino similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/examples/prepareFilesystem/prepareFilesystem.ino rename to elboard v1.2/ESPUI-master/examples/prepareFilesystem/prepareFilesystem.ino diff --git a/elboard v1.1/board/Slave/ESPUI-master/img/blocks/acknowledgements.html b/elboard v1.2/ESPUI-master/img/blocks/acknowledgements.html similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/img/blocks/acknowledgements.html rename to elboard v1.2/ESPUI-master/img/blocks/acknowledgements.html diff --git a/elboard v1.1/board/Slave/ESPUI-master/img/blocks/button_pressed.svg b/elboard v1.2/ESPUI-master/img/blocks/button_pressed.svg similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/img/blocks/button_pressed.svg rename to elboard v1.2/ESPUI-master/img/blocks/button_pressed.svg diff --git a/elboard v1.1/board/Slave/ESPUI-master/img/blocks/button_released.svg b/elboard v1.2/ESPUI-master/img/blocks/button_released.svg similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/img/blocks/button_released.svg rename to elboard v1.2/ESPUI-master/img/blocks/button_released.svg diff --git a/elboard v1.1/board/Slave/ESPUI-master/img/blocks/controller_center_pressed.svg b/elboard v1.2/ESPUI-master/img/blocks/controller_center_pressed.svg similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/img/blocks/controller_center_pressed.svg rename to elboard v1.2/ESPUI-master/img/blocks/controller_center_pressed.svg diff --git a/elboard v1.1/board/Slave/ESPUI-master/img/blocks/controller_center_released.svg b/elboard v1.2/ESPUI-master/img/blocks/controller_center_released.svg similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/img/blocks/controller_center_released.svg rename to elboard v1.2/ESPUI-master/img/blocks/controller_center_released.svg diff --git a/elboard v1.1/board/Slave/ESPUI-master/img/blocks/controller_down_pressed.svg b/elboard v1.2/ESPUI-master/img/blocks/controller_down_pressed.svg similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/img/blocks/controller_down_pressed.svg rename to elboard v1.2/ESPUI-master/img/blocks/controller_down_pressed.svg diff --git a/elboard v1.1/board/Slave/ESPUI-master/img/blocks/controller_down_released.svg b/elboard v1.2/ESPUI-master/img/blocks/controller_down_released.svg similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/img/blocks/controller_down_released.svg rename to elboard v1.2/ESPUI-master/img/blocks/controller_down_released.svg diff --git a/elboard v1.1/board/Slave/ESPUI-master/img/blocks/controller_left_pressed.svg b/elboard v1.2/ESPUI-master/img/blocks/controller_left_pressed.svg similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/img/blocks/controller_left_pressed.svg rename to elboard v1.2/ESPUI-master/img/blocks/controller_left_pressed.svg diff --git a/elboard v1.1/board/Slave/ESPUI-master/img/blocks/controller_left_released.svg b/elboard v1.2/ESPUI-master/img/blocks/controller_left_released.svg similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/img/blocks/controller_left_released.svg rename to elboard v1.2/ESPUI-master/img/blocks/controller_left_released.svg diff --git a/elboard v1.1/board/Slave/ESPUI-master/img/blocks/controller_right_pressed.svg b/elboard v1.2/ESPUI-master/img/blocks/controller_right_pressed.svg similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/img/blocks/controller_right_pressed.svg rename to elboard v1.2/ESPUI-master/img/blocks/controller_right_pressed.svg diff --git a/elboard v1.1/board/Slave/ESPUI-master/img/blocks/controller_right_released.svg b/elboard v1.2/ESPUI-master/img/blocks/controller_right_released.svg similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/img/blocks/controller_right_released.svg rename to elboard v1.2/ESPUI-master/img/blocks/controller_right_released.svg diff --git a/elboard v1.1/board/Slave/ESPUI-master/img/blocks/controller_up_pressed.svg b/elboard v1.2/ESPUI-master/img/blocks/controller_up_pressed.svg similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/img/blocks/controller_up_pressed.svg rename to elboard v1.2/ESPUI-master/img/blocks/controller_up_pressed.svg diff --git a/elboard v1.1/board/Slave/ESPUI-master/img/blocks/controller_up_released.svg b/elboard v1.2/ESPUI-master/img/blocks/controller_up_released.svg similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/img/blocks/controller_up_released.svg rename to elboard v1.2/ESPUI-master/img/blocks/controller_up_released.svg diff --git a/elboard v1.1/board/Slave/ESPUI-master/img/blocks/switch_off.svg b/elboard v1.2/ESPUI-master/img/blocks/switch_off.svg similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/img/blocks/switch_off.svg rename to elboard v1.2/ESPUI-master/img/blocks/switch_off.svg diff --git a/elboard v1.1/board/Slave/ESPUI-master/img/blocks/switch_on.svg b/elboard v1.2/ESPUI-master/img/blocks/switch_on.svg similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/img/blocks/switch_on.svg rename to elboard v1.2/ESPUI-master/img/blocks/switch_on.svg diff --git a/elboard v1.1/board/Slave/ESPUI-master/keywords.txt b/elboard v1.2/ESPUI-master/keywords.txt similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/keywords.txt rename to elboard v1.2/ESPUI-master/keywords.txt diff --git a/elboard v1.1/board/Slave/ESPUI-master/lang/ESPUI.json b/elboard v1.2/ESPUI-master/lang/ESPUI.json similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/lang/ESPUI.json rename to elboard v1.2/ESPUI-master/lang/ESPUI.json diff --git a/elboard v1.1/board/Slave/ESPUI-master/library.json b/elboard v1.2/ESPUI-master/library.json similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/library.json rename to elboard v1.2/ESPUI-master/library.json diff --git a/elboard v1.1/board/Slave/ESPUI-master/library.properties b/elboard v1.2/ESPUI-master/library.properties similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/library.properties rename to elboard v1.2/ESPUI-master/library.properties diff --git a/elboard v1.1/board/Slave/ESPUI-master/src/ESPUI.cpp b/elboard v1.2/ESPUI-master/src/ESPUI.cpp similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/src/ESPUI.cpp rename to elboard v1.2/ESPUI-master/src/ESPUI.cpp diff --git a/elboard v1.1/board/Slave/ESPUI-master/src/ESPUI.h b/elboard v1.2/ESPUI-master/src/ESPUI.h similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/src/ESPUI.h rename to elboard v1.2/ESPUI-master/src/ESPUI.h diff --git a/elboard v1.1/board/Slave/ESPUI-master/src/dataControlsJS.h b/elboard v1.2/ESPUI-master/src/dataControlsJS.h similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/src/dataControlsJS.h rename to elboard v1.2/ESPUI-master/src/dataControlsJS.h diff --git a/elboard v1.1/board/Slave/ESPUI-master/src/dataIndexHTML.h b/elboard v1.2/ESPUI-master/src/dataIndexHTML.h similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/src/dataIndexHTML.h rename to elboard v1.2/ESPUI-master/src/dataIndexHTML.h diff --git a/elboard v1.1/board/Slave/ESPUI-master/src/dataNormalizeCSS.h b/elboard v1.2/ESPUI-master/src/dataNormalizeCSS.h similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/src/dataNormalizeCSS.h rename to elboard v1.2/ESPUI-master/src/dataNormalizeCSS.h diff --git a/elboard v1.1/board/Slave/ESPUI-master/src/dataSliderJS.h b/elboard v1.2/ESPUI-master/src/dataSliderJS.h similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/src/dataSliderJS.h rename to elboard v1.2/ESPUI-master/src/dataSliderJS.h diff --git a/elboard v1.1/board/Slave/ESPUI-master/src/dataStyleCSS.h b/elboard v1.2/ESPUI-master/src/dataStyleCSS.h similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/src/dataStyleCSS.h rename to elboard v1.2/ESPUI-master/src/dataStyleCSS.h diff --git a/elboard v1.1/board/Slave/ESPUI-master/src/dataZeptoJS.h b/elboard v1.2/ESPUI-master/src/dataZeptoJS.h similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/src/dataZeptoJS.h rename to elboard v1.2/ESPUI-master/src/dataZeptoJS.h diff --git a/elboard v1.1/board/Slave/ESPUI-master/tools/prepare_static_ui_sources.py b/elboard v1.2/ESPUI-master/tools/prepare_static_ui_sources.py similarity index 100% rename from elboard v1.1/board/Slave/ESPUI-master/tools/prepare_static_ui_sources.py rename to elboard v1.2/ESPUI-master/tools/prepare_static_ui_sources.py diff --git a/elboard v1.2/README - PHONE ONLY.txt b/elboard v1.2/README - PHONE ONLY.txt new file mode 100644 index 0000000..e69de29 diff --git a/elboard v1.1/board/Slave/VescUart.cpp b/elboard v1.2/VescUart.cpp similarity index 100% rename from elboard v1.1/board/Slave/VescUart.cpp rename to elboard v1.2/VescUart.cpp diff --git a/elboard v1.1/board/Slave/VescUart.h b/elboard v1.2/VescUart.h similarity index 100% rename from elboard v1.1/board/Slave/VescUart.h rename to elboard v1.2/VescUart.h diff --git a/elboard v1.1/board/Slave/buffer.cpp b/elboard v1.2/buffer.cpp similarity index 100% rename from elboard v1.1/board/Slave/buffer.cpp rename to elboard v1.2/buffer.cpp diff --git a/elboard v1.1/board/Slave/buffer.h b/elboard v1.2/buffer.h similarity index 100% rename from elboard v1.1/board/Slave/buffer.h rename to elboard v1.2/buffer.h diff --git a/elboard v1.1/board/Slave/crc.cpp b/elboard v1.2/crc.cpp similarity index 100% rename from elboard v1.1/board/Slave/crc.cpp rename to elboard v1.2/crc.cpp diff --git a/elboard v1.1/board/Slave/crc.h b/elboard v1.2/crc.h similarity index 100% rename from elboard v1.1/board/Slave/crc.h rename to elboard v1.2/crc.h diff --git a/elboard v1.1/board/Slave/data/css/normalize.css b/elboard v1.2/data/css/normalize.css similarity index 100% rename from elboard v1.1/board/Slave/data/css/normalize.css rename to elboard v1.2/data/css/normalize.css diff --git a/elboard v1.1/board/Slave/data/css/normalize.min.css b/elboard v1.2/data/css/normalize.min.css similarity index 100% rename from elboard v1.1/board/Slave/data/css/normalize.min.css rename to elboard v1.2/data/css/normalize.min.css diff --git a/elboard v1.1/board/Slave/data/css/style.css b/elboard v1.2/data/css/style.css similarity index 100% rename from elboard v1.1/board/Slave/data/css/style.css rename to elboard v1.2/data/css/style.css diff --git a/elboard v1.1/board/Slave/data/css/style.min.css b/elboard v1.2/data/css/style.min.css similarity index 100% rename from elboard v1.1/board/Slave/data/css/style.min.css rename to elboard v1.2/data/css/style.min.css diff --git a/elboard v1.1/board/Slave/data/index.htm b/elboard v1.2/data/index.htm similarity index 100% rename from elboard v1.1/board/Slave/data/index.htm rename to elboard v1.2/data/index.htm diff --git a/elboard v1.1/board/Slave/data/index.min.htm b/elboard v1.2/data/index.min.htm similarity index 100% rename from elboard v1.1/board/Slave/data/index.min.htm rename to elboard v1.2/data/index.min.htm diff --git a/elboard v1.1/board/Slave/data/js/controls.js b/elboard v1.2/data/js/controls.js similarity index 100% rename from elboard v1.1/board/Slave/data/js/controls.js rename to elboard v1.2/data/js/controls.js diff --git a/elboard v1.1/board/Slave/data/js/controls.min.js b/elboard v1.2/data/js/controls.min.js similarity index 100% rename from elboard v1.1/board/Slave/data/js/controls.min.js rename to elboard v1.2/data/js/controls.min.js diff --git a/elboard v1.1/board/Slave/data/js/slider.js b/elboard v1.2/data/js/slider.js similarity index 100% rename from elboard v1.1/board/Slave/data/js/slider.js rename to elboard v1.2/data/js/slider.js diff --git a/elboard v1.1/board/Slave/data/js/slider.min.js b/elboard v1.2/data/js/slider.min.js similarity index 100% rename from elboard v1.1/board/Slave/data/js/slider.min.js rename to elboard v1.2/data/js/slider.min.js diff --git a/elboard v1.1/board/Slave/data/js/zepto.min.js b/elboard v1.2/data/js/zepto.min.js similarity index 100% rename from elboard v1.1/board/Slave/data/js/zepto.min.js rename to elboard v1.2/data/js/zepto.min.js diff --git a/elboard v1.1/board/Slave/datatypes.h b/elboard v1.2/datatypes.h similarity index 100% rename from elboard v1.1/board/Slave/datatypes.h rename to elboard v1.2/datatypes.h diff --git a/elboard v1.2/phoneboard.ino b/elboard v1.2/phoneboard.ino new file mode 100644 index 0000000..d27bcad --- /dev/null +++ b/elboard v1.2/phoneboard.ino @@ -0,0 +1,311 @@ +#include +#include +#include +#include "vescfiles/VescUart.h" +VescUart UART1; +DNSServer dnsServer; + +const byte DNS_PORT = 53; +IPAddress apIP(192, 168, 1, 1); +const char *ssid = "El Board"; +const char *password = "abcd1234"; + +#define flight 22 +#define rlight 23 + +long oldTime = 0; +int hh,mm,x = 0; +String timer; +const float fpow = 0.7; +const float rpow = 0.4; +const float dutydead = 0.05; +int mode = 1; +float dmode = mode; +bool valk = 0; +bool vall = 0; +float vescduty,vescvolt,vesctach,vescrpm; +float modelimit; +int a , b , t , throtle, braking; +float u , c; +String message; +String messages = message; +float speed,dist; + +void command(Control sender, int type) { + int inval = sender.value.toInt(); + if (inval >= 10000 && inval < 20000) { + inval = inval - 10000; + hh = inval / 100; + mm = inval - (hh * 100) - 1; + timer = String(hh) + String(':'); + if (hh < 10) timer = String('0') + String(timer); + if (mm < 10) timer = String(timer) + String('0'); + timer = timer + String(mm); + oldTime = millis() - 60000; + Serial.print("Time set: "); + Serial.println(String(timer)); + } + else { + Serial.println(sender.value); + } +} + +void control(Control sender, int value) { + switch (value) { + case P_LEFT_DOWN: + x = x - 1; + if (x < 0) { + x = 5; + } + break; + case P_LEFT_UP: + break; + case P_RIGHT_DOWN: + x = x + 1; + if (x > 5) { + x = 0; + } + break; + case P_RIGHT_UP: + break; + case P_FOR_DOWN: + t = 1; + throtle = millis(); + Serial.println("Throtle"); + break; + case P_FOR_UP: + t = 0; + throtle = millis(); + break; + case P_BACK_DOWN: + b = 1; + Serial.println("Brake"); + break; + case P_BACK_UP: + b = 0; + break; + case P_CENTER_DOWN: + if (vescduty < dutydead) { + mode = mode + 1; + if (mode >= 11) { + mode = 1; + } + dmode = mode; + } + Serial.print("Mode: "); + Serial.println(mode); + break; + case P_CENTER_UP: + break; + } +} + +void drive(Control sender, int value) { + switch (value) { + case S_ACTIVE: + Serial.println("Backward"); + a = 1; + break; + case S_INACTIVE: + Serial.println("Forward"); + a = 0; + break; + } +} + +void frontlight(Control sender, int value) { + switch (value) { + case S_ACTIVE: + vall = !vall; + Serial.print("Flight: "); + Serial.println(vall); + break; + case S_INACTIVE: + vall = !vall; + Serial.print("Flight: "); + Serial.println(vall); + break; + } +} + +void rearlight(Control sender, int value) { + switch (value) { + case S_ACTIVE: + valk = !valk; + Serial.print("Rlight: "); + Serial.println(valk); + break; + case S_INACTIVE: + valk = !valk; + Serial.print("Rlight: "); + Serial.println(valk); + break; + } +} + +void setup(void) { + Serial.begin(115200); + WiFi.mode(WIFI_AP); + WiFi.softAPConfig(apIP, apIP, IPAddress(255, 255, 255, 0)); + + //WiFi.setHostname(ssid); + + // WiFi.softAP(ssid); + WiFi.softAP(ssid, password); + Serial.println(""); + Serial.print("IP address: "); + Serial.println(WiFi.softAPIP()); + + // change the beginning to this if you want to join an existing network + + // Serial.begin(115200); + // WiFi.begin(ssid, password); + // Serial.println(""); + // // Wait for connection + // while (WiFi.status() != WL_CONNECTED) { + // delay(100); + // Serial.print("."); + // } + // Serial.println(""); + // Serial.print("IP address: "); + // Serial.println(WiFi.localIP()); + + ESPUI.label("Info", COLOR_CARROT, "Mode: 1"); + ESPUI.pad("Control", true, &control, COLOR_WETASPHALT); + ESPUI.switcher("Forward / Backward", false, &drive, COLOR_PETERRIVER); + ESPUI.switcher("Front Light", false, &frontlight, COLOR_SUNFLOWER); + ESPUI.switcher("Rear Light", false, &rearlight, COLOR_ALIZARIN); + ESPUI.text("Command", &command, COLOR_EMERALD, ""); + + dnsServer.start(DNS_PORT, "*", apIP); + + ESPUI.begin("El Board"); + oldTime = millis() - 60000; + throtle = millis(); + braking = millis(); + + ledcSetup(1, 5000, 8); + ledcSetup(2, 5000, 8); + ledcAttachPin(flight, 1); + ledcAttachPin(rlight, 2); + + Serial2.begin(115200); + UART1.setSerialPort(&Serial2); +// UART1.setDebugPort(&Serial); +} + +void loop(void) { + dnsServer.processNextRequest(); + + timer = String(hh) + String(':'); + if (hh < 10) timer = String('0') + String(timer); + if (mm < 10) timer = String(timer) + String('0'); + timer = timer + String(mm); + if (millis() - oldTime >= 60000) { + mm = mm + 1; + if (mm == 60) { + hh = hh + 1; + mm = 0; + if (hh == 24) { + hh = 0; + } + } + oldTime = millis(); + } + + if ( UART1.getVescValues() ) { + vescduty = UART1.data.dutyCycleNow; + if (vescduty < 0) { + vescduty = -vescduty; + } + vescvolt = UART1.data.inpVoltage; + vesctach = UART1.data.tachometerAbs; + vescrpm = UART1.data.rpm; + if (vescrpm < 0) { + vescrpm = -vescrpm; + } + } + + if (vall == 1) { + ledcWrite(1, 255 * fpow); + } + else { + ledcWrite(1, 0); + } + + if (valk == 1) { + if (c > 0) { + ledcWrite(2, 255); + } + else { + ledcWrite(2, 255 * rpow); + } + } + else { + ledcWrite(2, 0); + } + + if (t == 1 && b == 0) { + if (millis() - throtle >= 250 && u >= 0 && u < dmode * 5) { + throtle = millis(); + u = u + (0.05 * dmode * 5); + } + else if (u > dmode * 5) { + u = dmode * 5; + } + if (a == 0) { + UART1.setCurrent(-u); //forward + } + else if (a == 1) { + UART1.setCurrent(u); //backward + } + } + + else if (t == 0 && b == 1) { + if (mode >= 6) c = 10; + if (mode <= 5) c = 5; + UART1.setBrakeCurrent(c); + } + + else { + UART1.setCurrent(0); + c = 0; + if (millis() - throtle >= 250 && u > 0) { + throtle = millis(); + u = u - (0.05 * dmode * 5); + if (u < 0) { + u = 0; + } + } + else if (vescduty < dutydead) { + u = 0; + } + } + + if (x == 0){ + message = String("Mode: ")+String(mode); + } + else if (x == 1){ + message = String("Battery: ")+String(vescvolt)+String(" V"); + } + else if (x == 2) { + speed = vescrpm/38*3.14159265359*0.000075*60; + message = String("Speed: ")+String(speed)+String(" km/h"); + } + else if (x == 3) { + float vescdutyp = vescduty * 100; // 1 -> 100% + message = String("Duty: ")+String(vescdutyp)+String(" %"); + } + else if (x == 4) { + dist = vesctach/38*3.14159265359*0.000075; + message = String("Distance: ")+String(dist)+String(" km"); + } + else if (x == 5) { + message = String("Time: ")+String(timer); + } + + if (message != messages) { + ESPUI.print("Info", message); + messages = message; + } +}