/ RNode_Firmware_CE_G2 / STATION_G2_RNODECONF_CHANGES.md
STATION_G2_RNODECONF_CHANGES.md
 1  # Station G2 Support for rnodeconf.py
 2  # ====================================
 3  # 
 4  # To add Station G2 support to rnodeconf.py, the following changes are needed:
 5  #
 6  # 1. Add ROM constants in the ROM class:
 7  #    PRODUCT_STATION_G2  = 0x60
 8  #    MODEL_62            = 0x62
 9  #
10  # 2. Add to products dictionary:
11  #    ROM.PRODUCT_STATION_G2: "Station G2",
12  #
13  # 3. Add to models dictionary:
14  #    0x62: [902000000, 928000000, 30, "902 - 928 MHz", "rnode_firmware_station_g2.zip", "SX1262"],
15  #
16  # 4. Add autoinstall option (increment existing numbers by 1):
17  #    print("[17] Station G2")
18  #
19  # 5. Add autoinstall case handler:
20  #    elif c_dev == 17:
21  #        selected_product = ROM.PRODUCT_STATION_G2
22  #        selected_mcu = ROM.MCU_ESP32
23  #        selected_platform = ROM.PLATFORM_ESP32
24  #        selected_model = ROM.MODEL_62
25  #        fw_filename = "rnode_firmware_station_g2.zip"
26  #        # Add installation warning message
27  #
28  # 6. Add ESP32-S3 flasher support in get_flasher_call():
29  #    elif fw_filename == "rnode_firmware_station_g2.zip":
30  #        return [
31  #            sys.executable, flasher,
32  #            "--chip", "esp32s3",
33  #            "--port", args.port,
34  #            "--baud", args.baud_flash,
35  #            "--before", "default_reset",
36  #            "--after", "hard_reset",
37  #            "write_flash", "-z",
38  #            "--flash_mode", "dio",
39  #            "--flash_freq", "80m",
40  #            "--flash_size", "4MB",
41  #            "0xe000", UPD_DIR+"/"+selected_version+"/rnode_firmware_station_g2.boot_app0",
42  #            "0x0", UPD_DIR+"/"+selected_version+"/rnode_firmware_station_g2.bootloader",
43  #            "0x10000", UPD_DIR+"/"+selected_version+"/rnode_firmware_station_g2.bin",
44  #            "0x210000", UPD_DIR+"/"+selected_version+"/console_image.bin",
45  #            "0x8000", UPD_DIR+"/"+selected_version+"/rnode_firmware_station_g2.partitions",
46  #        ]
47  #
48  # The main issue is that rnodeconf doesn't recognize Station G2 as a valid product,
49  # so when the device reports PRODUCT_STATION_G2 (0x60) and MODEL_62 (0x62), 
50  # rnodeconf fails to identify it properly.
51  #
52  # After these changes are made to the upstream rnodeconf.py in the Reticulum 
53  # repository, Station G2 devices should work properly with the standard 
54  # rnodeconf tool.
55  
56  # Current Status:
57  # - Station G2 firmware builds and uploads successfully
58  # - Device boots with upstream firmware
59  # - rnodeconf doesn't recognize the device (needs these patches)
60  # - Need to test actual radio functionality once rnodeconf works
61  
62  # Testing Process:
63  # 1. Apply patches to local rnodeconf installation
64  # 2. Test device recognition: rnodeconf /dev/cu.usbmodem101 --info
65  # 3. Test provisioning if device is blank EEPROM
66  # 4. Test radio functionality and PA/LNA operation
67  # 5. Submit patches to upstream Reticulum repository