esp32-nmea2000-obp60/lib/obp60task
Thomas Hooge 11a061d5a2 Consolidating development hints in README file 2025-08-04 21:13:40 +02:00
..
fonts Reorganized fonts and changed Ubuntu-font to 8bit version 2025-07-08 15:19:07 +02:00
images Change xbm file header to fix strange accesspoint behaviour 2025-07-26 20:22:07 +02:00
.gitignore Created autobahn page 2024-11-02 18:11:43 +01:00
.gitpod.Dockerfile Add Gitpod 2023-12-20 10:43:11 +01:00
.gitpod.yml Add run script for compiling 2023-12-20 10:55:43 +01:00
AS5600.cpp Correct splitting between OBP60 and OBP40 hardware 2025-01-20 21:21:58 +01:00
AS5600.h Backup 2022-03-17 22:04:23 +01:00
BoatDataCalibration.cpp Calibration for data types COG, SOG added 2025-05-25 17:42:50 +02:00
BoatDataCalibration.h Calibration for data types COG, SOG added 2025-05-25 17:42:50 +02:00
ColorTo3Byte.h Delete FastLED and implement DMA to SPI for all RGB leds 2024-09-20 13:25:11 +02:00
ConfigMenu.cpp Integrated config menu into system page 2025-08-03 21:18:08 +02:00
ConfigMenu.h Integrated config menu into system page 2025-08-03 21:18:08 +02:00
Graphics.cpp Integrated config menu into system page 2025-08-03 21:18:08 +02:00
Graphics.h Integrated config menu into system page 2025-08-03 21:18:08 +02:00
GxEPD2_420_GDEY042T81.cpp.txt Add CPU speed for config. Modify display refresh with temp compensation 2024-09-26 17:57:43 +02:00
LedSpiTask.cpp Add friendly color names to color class for system page display 2025-07-31 14:23:11 +02:00
LedSpiTask.h Add friendly color names to color class for system page display 2025-07-31 14:23:11 +02:00
Logo_OBP_400x300_sw.h Initial update nach Github crash 2021-12-16 09:37:54 +01:00
MFD_OBP60_400x300_sw.h Initial update nach Github crash 2021-12-16 09:37:54 +01:00
OBP60Extensions.cpp Start switching from getdisplay to epd pointer 2025-08-04 20:57:50 +02:00
OBP60Extensions.h Start switching from getdisplay to epd pointer 2025-08-04 20:57:50 +02:00
OBP60Formatter.cpp Added config option for display precision and formatter code improvements 2025-07-31 12:31:57 +02:00
OBP60Hardware.h Modify power mode fpr OBP40 2025-01-21 22:41:47 +01:00
OBP60Keypad.h Fix LiPo battery level and sensor pad 2025-01-25 18:04:58 +01:00
OBP60QRWiFi.h Reorganized fonts and changed Ubuntu-font to 8bit version 2025-07-08 15:19:07 +02:00
OBPDataOperations.cpp fix true wind input check; fix TWS not calculated with SOG only or w/o COG 2025-07-27 20:51:11 +02:00
OBPDataOperations.h added calibration to buffer; separated buffer and wind code in opb60task; prepared simulation; getMin/Max fix for ringbuffer for invalid data; fix for chart center; cleanup code 2025-07-25 08:42:43 +02:00
OBPRingBuffer.h added calibration to buffer; separated buffer and wind code in opb60task; prepared simulation; getMin/Max fix for ringbuffer for invalid data; fix for chart center; cleanup code 2025-07-25 08:42:43 +02:00
OBPRingBuffer.tpp added calibration to buffer; separated buffer and wind code in opb60task; prepared simulation; getMin/Max fix for ringbuffer for invalid data; fix for chart center; cleanup code 2025-07-25 08:42:43 +02:00
OBPSensorTask.cpp Merge branch 'PageWindPlot' of https://github.com/Scorgan01/esp32-nmea2000-obp60 into PageWindPlot 2025-07-25 08:43:01 +02:00
OBPSensorTask.h Move buffer handling to obp60task; reset OBPSensorTask; add true wind calculation 2025-07-19 00:26:37 +02:00
ObpNmea0183.h Fix for problems with reboots by using GPS modul (was not correct implemented) 2022-03-17 13:54:44 +01:00
PageAnchor.cpp Preparation for new anchor page 2025-08-04 15:28:49 +02:00
PageBME280.cpp Preparation for upcoming alarm functionality 2025-07-23 14:00:06 +02:00
PageBattery.cpp Minor code cleanup: fixing comments and formatting 2025-07-28 09:54:20 +02:00
PageBattery2.cpp Preparation for upcoming alarm functionality 2025-07-23 14:00:06 +02:00
PageClock.cpp Merge branch 'clock' into extended 2025-08-04 15:35:13 +02:00
PageCompass.cpp Fix typo: Formated -> Formatted 2025-07-29 19:33:31 +02:00
PageDST810.cpp Preparation for upcoming alarm functionality 2025-07-23 14:00:06 +02:00
PageFluid.cpp Preparation for upcoming alarm functionality 2025-07-23 14:00:06 +02:00
PageFourValues.cpp Minor code cleanup: fixing comments and formatting 2025-07-28 09:54:20 +02:00
PageFourValues2.cpp Preparation for upcoming alarm functionality 2025-07-23 14:00:06 +02:00
PageGenerator.cpp Preparation for upcoming alarm functionality 2025-07-23 14:00:06 +02:00
PageKeelPosition.cpp Minor code cleanup: fixing comments and formatting 2025-07-28 09:54:20 +02:00
PageOneValue.cpp Preparation for upcoming alarm functionality 2025-07-23 14:00:06 +02:00
PageRollPitch.cpp Fix for page RollPitch 2025-07-31 11:58:04 +02:00
PageRudderPosition.cpp Preparation for upcoming alarm functionality 2025-07-23 14:00:06 +02:00
PageSixValues.cpp Preparation for upcoming alarm functionality 2025-07-23 14:00:06 +02:00
PageSkyView.cpp Fixed SkyView: return value needed, enabled for OBP40 2025-08-04 13:47:50 +02:00
PageSolar.cpp Preparation for upcoming alarm functionality 2025-07-23 14:00:06 +02:00
PageSystem.cpp Integrated config menu into system page 2025-08-03 21:18:08 +02:00
PageThreeValues.cpp Minor code cleanup: fixing comments and formatting 2025-07-28 09:54:20 +02:00
PageTwoValues.cpp Minor code cleanup: fixing comments and formatting 2025-07-28 09:54:20 +02:00
PageVoltage.cpp Mark extended firmware and prepare for getdisplay() replacement 2025-08-04 12:37:50 +02:00
PageWhite.cpp Fix OBP40-Logo for WhitePage, use xbm image format 2025-07-24 19:51:38 +02:00
PageWind.cpp Minor code cleanup: fixing comments and formatting 2025-07-28 09:54:20 +02:00
PageWindPlot.cpp fix TWS name not displayed; improve check for chart center adjustment; debug code changes 2025-07-27 20:54:35 +02:00
PageWindRose.cpp Minor code cleanup: fixing comments and formatting 2025-07-28 09:54:20 +02:00
PageWindRoseFlex.cpp Minor code cleanup: fixing comments and formatting 2025-07-28 09:54:20 +02:00
PageXTETrack.cpp Minor code cleanup: fixing comments and formatting 2025-07-28 09:54:20 +02:00
Pagedata.h Mark extended firmware and prepare for getdisplay() replacement 2025-08-04 12:37:50 +02:00
README Consolidating development hints in README file 2025-08-04 21:13:40 +02:00
RTClib.cpp Fix warnings 2024-11-20 10:42:38 +01:00
RTClib.h Fix warnings 2024-11-20 10:42:38 +01:00
config.json Preparation for new anchor page 2025-08-04 15:28:49 +02:00
config_obp40.json Merge branch 'clock' into extended 2025-08-04 15:35:13 +02:00
extra_task.py Add display library version info to page system 2025-07-09 16:13:32 +02:00
gen_set.py Automate gen_set.py with page detection and command line parameters 2025-08-01 11:01:23 +02:00
imglib.cpp Added missing imglib files 2024-12-22 14:10:46 +01:00
imglib.h Added missing imglib files 2024-12-22 14:10:46 +01:00
movingAvg.cpp Add moving average for battery values in OBPSensorTask 2022-03-25 18:19:14 +01:00
movingAvg.h Add moving average for battery values in OBPSensorTask 2022-03-25 18:19:14 +01:00
obp60task.cpp Preparation for new anchor page 2025-08-04 15:28:49 +02:00
obp60task.h Correct splitting between OBP60 and OBP40 hardware 2025-01-20 21:21:58 +01:00
partition_table.txt Modify files for Gitpod 2025-01-21 16:32:40 +01:00
platformio.ini Revert speed change in platformio.ini 2025-07-25 19:54:01 +02:00
qrcode.c E-Ink display runs 2022-02-03 17:43:30 +01:00
qrcode.h E-Ink display runs 2022-02-03 17:43:30 +01:00
run_install_tools Rename file 2025-05-07 16:50:41 +08:00
run_obp40_s3 Changes 2025-03-04 21:37:55 +01:00
run_obp60_s3 Modify files for Gitpod 2025-01-21 16:32:40 +01:00

README

Development information
=======================

This file contains some hints concerning building the firmware as well as
developing and debugging it.


Git commands
------------
Some useful commands are

git status
git fetch upstream
git diff --name-status upstream/master
git checkout upstream/master platformio.ini

# how to reset my Repo to match norbert's status

git remote add upstream https://github.com/norbert-walter/esp32-nmea2000-obp60
git fetch upstream
git checkout master
git reset --hard upstream/master  
git push origin master --force


New pages
---------
To create a new page for OBP60 the following steps are necessary:

  1. Create a page under /lib/obp60task/PageXXXX.cpp
  2. Set page name in PageXXXX.cpp on file name
  3. Register new page in /lib/obp60task/obp60task.cpp in function
     'registerAllPages'
  4. Add new page in /lib/obp60task/config.json for each page type or add 
     new page to gen_set.py and run it to auto-generate the relevant 
     section of config.json
  5. Copy the changes in config.json to config_obp40.json and rename
     strings accordingly. E.g. obp60 to obp40.

 
Using Gitpod
------------

Open web page:
https://gitpod.io/#https://github.com/norbert-walter/esp32-nmea2000-obp60/tree/master/lib/obp60task

Input in terminal:
cd /workspace/esp32-nmea2000-obp60
bash /workspace/esp32-nmea2000-obp60/lib/obp60task/run_installing_tools
bash /workspace/esp32-nmea2000-obp60/lib/obp60task/run_obp60_s3
bash /workspace/esp32-nmea2000-obp60/lib/obp60task/run_obp40_s3

Compile result for OBP60:
/workspace/esp32-nmea2000-obp60/.pio/build/obp60_s3/bootloader.bin
/workspace/esp32-nmea2000-obp60/.pio/build/obp60_s3/firmware.bin
/workspace/esp32-nmea2000-obp60/.pio/build/obp60_s3/partitions.bin

/workspace/esp32-nmea2000-obp60/.pio/build/obp60_s3/obp60_s3-all.bin
/workspace/esp32-nmea2000-obp60/.pio/build/obp60_s3/obp60_s3-dev<yyyymmdd>-all.bin
/workspace/esp32-nmea2000-obp60/.pio/build/obp60_s3/obp60_s3-dev<yyyymmdd>-update.bin

/workspace/esp32-nmea2000-obp60/.pio/build/obp60_s3/obp60_s3-all.bin, ready to flash to offset 0x0000

Compile result for OBP40 (CrowPanel 4.2):

/workspace/esp32-nmea2000-obp60/.pio/build/obp40_s3/bootloader.bin
/workspace/esp32-nmea2000-obp60/.pio/build/obp40_s3/firmware.bin
/workspace/esp32-nmea2000-obp60/.pio/build/obp40_s3/partitions.bin

/workspace/esp32-nmea2000-obp60/.pio/build/obp40_s3/obp40_s3-all.bin
/workspace/esp32-nmea2000-obp60/.pio/build/obp40_s3/obp40_s3-dev<yyyymmdd>-all.bin
/workspace/esp32-nmea2000-obp60/.pio/build/obp40_s3/obp40_s3-dev<yyyymmdd>-update.bin

/workspace/esp32-nmea2000-obp60/.pio/build/obp40_s3/obp40_s3-all.bin, ready to flash to offset 0x0000


Debugging tool
--------------

log.txt = text file with error messages from terminal console

tools/decoder.py -p ESP32S3 -t ~/.platformio/packages/toolchain-xtensa-esp32s3/ -e .pio/build/obp60_s3/firmware.elf log.txt