an-erd / dispod Goto Github PK
View Code? Open in Web Editor NEWLicense: MIT License
License: MIT License
To save memory in RAM and to have a more compact output file, packing of data should be used. It seems that the packages for RCS/custom come in the order
1st: RSC Values (cadence)
2nd: Custom Values (GCT, strike)
and in addition every x secs the heartbeat package incl. time.
Strategy to implement:
When using the device standalone there's no chance to understand why connecting to a WLAN failed. Add either some output on the display and/or a log file on SD card.
If a known SSID is found, but the PWD is wrong, in main.cpp DISPOD_WIFI_INIT_DONE_EVT is done, but DISPOD_WIFI_GOT_IP_EVT is never reached.
Check, which result we receive in this case and how to proceed.
When for a certain configurable time in running screen w/o receiving a BLE packet, leave running screen and go back to status screen.
after scan complete, the status goes to red by ESP_GAP_BLE_SCAN_STOP_COMPLETE_EVT, and shortly after that to yellow then connect started -> omit status switch
Maybe wait for ESP_GATTC_CONNECT_EVT?
add a software or other version to device.
maybe use sprites, see sprites
Handle 0x3E Connection Failed to be Established
I (10662) DISPOD_GATTC: ESP_GAP_BLE_SCAN_STOP_COMPLETE_EVT
I (10666) DISPOD_GATTC: stop scan successfully
I (10668) DISPOD_TFT: dispod_screen_task: update display, screen_to_show 1
I (10675) DISPOD_TFT: dispod_screen_task: SCREEN_STATUS
W (11132) BT_APPL: bta_gattc_conn_cback() - cif=1 connected=0 conn_id=1 reason=0x003e
I (11134) DISPOD_GATTC: esp_gattc_cb()
I (11134) DISPOD_GATTC: ESP_GATTC_DISCONNECT_EVT, reason = 62
I (11141) DISPOD_TFT: dispod_screen_task: update display, screen_to_show 1
I (11141) DISPOD_GATTC: esp_gattc_cb()
I (11148) DISPOD_TFT: dispod_screen_task: SCREEN_STATUS
I (11153) DISPOD_GATTC: ESP_GATTC_OPEN_EVT
E (11163) DISPOD_GATTC: open failed, status 133
Handle W (101129) BT_APPL: bta_gattc_conn_cback() - cif=1 connected=0 conn_id=1 reason=0x0008
, by automatic rescan/reconnect.
Logs, appeared in SCREEN_RUNNING.
I (26687) DISPOD: DISPOD_GO_TO_RUNNING_SCREEN_EVT
I (26693) DISPOD_TFT: dispod_screen_task: update display, screen_to_show 2
I (26700) DISPOD_TFT: dispod_screen_task: switching from '1' to '2'
I (26707) DISPOD_TFT: dispod_screen_task: SCREEN_RUNNING
I (26786) DISPOD_TFT: drawindicator textwidth 48 for 'Cad', textheight 25
I (26788) DISPOD_TFT: TFT_drawRoundRect x0 220 y0 10 w 29 h 20 r 8
I (26790) DISPOD_TFT: TFT_fillCircle x0 170 y0 20 r 8
I (26797) DISPOD_TFT: drawindicator textwidth 53 for 'GCT', textheight 25
I (26805) DISPOD_TFT: TFT_drawRoundRect x0 160 y0 45 w 66 h 20 r 8
I (26810) DISPOD_TFT: TFT_fillCircle x0 170 y0 55 r 8
I (26820) DISPOD_TFT: updateDisplayWithRunningValues: cad 0 stance 0 strike 0
W (101129) BT_APPL: bta_gattc_conn_cback() - cif=1 connected=0 conn_id=1 reason=0x0008
I (101132) DISPOD_GATTC: esp_gattc_cb()
I (101133) DISPOD_GATTC: ESP_GATTC_DISCONNECT_EVT, reason = 8
I (101139) DISPOD_TFT: dispod_screen_task: update display, screen_to_show 2
I (101139) DISPOD_GATTC: esp_gattc_cb()
see: https://www.esp32.com/viewtopic.php?t=7684
try: disabling CONFIG_SPI_MASTER_ISR_IN_IRAM=y
When idle in status screen for a certain time, do:
BLE packages in status screen -> idle
small device movement in status screen -> idle
pick up device, tap, ... -> non idle
Investigate on and get rid off...
rst:0x10 (RTCWDT_RTC_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT)
flash read err, 1000
ets_main.c 371
ets Jun 8 2016 00:22:57
Toolchain path: /opt/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc
Toolchain version: crosstool-ng-1.22.0-80-g6c4433a5
Compiler version: 5.2.0
Python requirements from C:/msys32/home/AKAEM/esp/esp-idf/requirements.txt are satisfied.
MONITOR
--- idf_monitor on COM6 115200 ---
--- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
ets Jun 8 2016 00:22:57
rst:0x1 (POWERON_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0018,len:4
load:0x3fff001c,len:5916
load:0x40078000,len:8836
load:0x40080400,len:6312
entry 0x40080728
I (28) boot: ESP-IDF v3.3-beta1-dirty 2nd stage bootloader
I (28) boot: compile time 14:44:01
I (28) boot: Enabling RNG early entropy source...
I (34) boot: SPI Speed : 40MHz
I (38) boot: SPI Mode : DIO
I (42) boot: SPI Flash Size : 16MB
I (46) boot: Partition Table:
I (50) boot: ## Label Usage Type ST Offset Length
I (57) boot: 0 nvs WiFi data 01 02 00009000 00005000
I (64) boot: 1 otadata OTA data 01 00 0000e000 00002000
I (72) boot: 2 app0 OTA app 00 10 00010000 00640000
I (79) boot: 3 app1 OTA app 00 11 00650000 00640000
I (87) boot: 4 eeprom Unknown data 01 99 00c90000 00001000
I (94) boot: 5 spiffs Unknown data 01 82 00c91000 0036f000
I (102) boot: End of partition table
E (106) boot: ota data partition invalid and no factory, will try all partitions
I
should be im plemented with a couple of "bars" which are written to the display using sprite "canvas" efficiently.
Use test case to check when no knwon SSID is available. Should be "red" for WiFi and NTP, but BLE, et.c should be available with no RTC.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.