1
0
mirror of https://github.com/thooge/esp32-nmea2000-obp60.git synced 2025-12-24 11:13:06 +01:00
Files
esp32-nmea2000-obp60/lib/obp60task
..
2024-11-02 18:11:43 +01:00
2023-12-20 10:43:11 +01:00
2023-12-20 10:55:43 +01:00
2022-03-17 22:04:23 +01:00
2024-12-22 14:10:46 +01:00
2024-12-22 14:10:46 +01:00
2025-01-21 16:32:40 +01:00
2022-02-03 17:43:30 +01:00
2022-02-03 17:43:30 +01:00
2024-11-20 10:42:38 +01:00
2024-11-20 10:42:38 +01:00
2025-05-07 16:50:41 +08:00
2025-03-04 21:37:55 +01:00
2025-01-21 16:32:40 +01:00
2025-08-12 09:57:52 +02:00

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. You can use a simple
     page e.g. PageOneValue.cpp as template
  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 use  gen_set.py to auto-generate the relevant  section of
     config.json. For further information on that  read the comments
     in gen_set.py.
  5. Copy the changes in config.json to config_obp40.json and rename
     strings accordingly. E.g. obp60 to obp40.

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

Warning: You have to register with 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