As reported by @mrekin, the previous changes to the platformio
custom build script may not work on windows. Change to use
python3 instead of a call to /usr/bin/env python3.
The call to generate UF2 files in the platformio custom script was
a bare call to python. In some environments, this command won't
exist in this way. Instead, use the standard env approach to find
the right python.
Additionally, add the shebang line on line 1 so this script can be
executed standalone if needed.
* Fix wio-tracker-1110 lora radio reset GPIO assignment
This fixes flaky lora radio init on this board.
* No need to keep lr11x0 radio config during sleep anymore, also stop TCXO
I think the problem (at least on the board I'm using for power testing
a wio tracker 1110) was that actually the RESET GPIO was not correct for
the radio. This led to the radio not being properly reinited after exiting
sleep mode.
Now that the GPIO is fixed I can enter deep sleep (fully shutting down
radio) and then later when the CPU resets, it can successfully init the
radio and send packets.
After this seeming success, I also turned off the TCXO during sleep and that
worked as well.
While working on #4378 I noticed a funny problem: the blinking system
LED was on during deep-sleep. Initially I thought it was some weird
sleep hw config thing but it turns out it was easier but more pervasive.
We had two different preprocessor symbols which both meant approximately the same
thing LED_INVERTED and LED_STATE_ON (though their polarity was opposite).
Some variant files were setting one, others were setting the other, and others were
setting both. heh.
In the case of the board I was testing (seeed tracker wio 1100) it was only setting one
and the default behavior for the other (for all boards) was incorrect. So I did a grep
and it seems like LED_STATE_ON was used more often, so I kept that one and removed
LED_INVERTED everywhere.
* add bootloader install script for wio tracker 1110 board
Mostly for documentation purposes for future devs.
* Generalize nrf52 hw debugging support so it works on all nrf52 targets
for wio tracker 1110 and 1000-E and possibly other nrf52 boards.
The problem was that nrf52 power stuff wasn't generating regular
powerstatus notifications (because that code was guarded by a batteryLevel
check which was null for those boards). So I've cleaned up the battery status stuff
a bit and we now have fewer special cases.
Tested on a 1000-E, tracker 1110 and a rak4631 board.
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
* Automatically generate .uf2 files (which are often used by nrf52 bootloaders for installing
app loads) anytime we generate a new hex file. This tool takes very little time to run and it is handy
for development
* Remove an old custom target I had tried to add to autogen uf2 files (that never worked)
Build output now looks like:
$ pio run --environment tracker-t1000-e
Processing tracker-t1000-e (board: tracker-t1000-e; platform: platformio/nordicnrf52@^10.5.0; framework: arduino)
...
Generating UF2 file
Converting to uf2, output size: 1395200, start address: 0x27000
Wrote 1395200 bytes to /home/kevinh/development/meshtastic/firmware/.pio/build/tracker-t1000-e/firmware.uf2
Building .pio/build/tracker-t1000-e/firmware.zip
Zip created at .pio/build/tracker-t1000-e/firmware.zip
=================================================================================== [SUCCESS] Took 9.33 seconds ===================================================================================
Environment Status Duration
--------------- -------- ------------
tracker-t1000-e SUCCESS 00:00:09.327
=================================================================================== 1 succeeded in 00:00:09.327 ===================================================================================
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
* Fix build to not use incorrect OneButton version
OneButton pushed out a new update today that has a different API
rather than just use whichever new version they push, stay on 2.5.x until
someone sees a need to update. Fixes build for wm1100 tracker.
* Update stm32.ini
* 2.6.1
* Try github tag instead?
* Update stm32.ini
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
* Fix I2C pindefs
* Initial driver testing for HT-VME290
* E-Ink full refresh after canned message pop up
* Tidy variant folders
* Clean ESP32 cpuDeepSleep method
Merge sections, and remove the random assortment of gpio holds left behind.
* Enable 32kHz in variant.h
* Orient E290 with LoRa antenna facing up
* Revert "Clean ESP32 cpuDeepSleep method"
This reverts commit cb8ee508ec2d6bc27a8e228021fd1efbd034c4a0.
* Reduce deep-sleep current for VME213 (non-intrusive)
Originally I made an attempt at tidying up the cpuDeepSleep method, but have reverted that. New commit makes only the changes needed to support VME213. Don't really want the headache of breaking sleep for other variants, especially when this PR is just about implementing new boards.
* Update lib_deps; remove board_level extra
* Make SPI frequency configurable on Native
* Make the tophone queue size configurable for Portduino
* The modified SPISettings must be configured in setup(), after config.yaml is processed
* make MeshService a pointer, so we can configure MAX_RX_TOPHONE at run time
* Got a little over excited with refactoring
* Silence a warning
* More compatible
Changed a RADIOMASTER_900_BANDIT_NANO to DISPLAY_FLIP_SCREEN that is responsible for flipping the OLED screen for better compatible with other devices.
* Update variant.h Radiomaster
Remove a un-used SCREEN_ROTATE and added DISPLAY_FLIP_SCREEN
* Adding support for Chatter keypad
* Remove user button mapping since full keypad is now useable
* Adding TAB key and RIGHT to allow selecting a destination
* Fix shift bug (there's only three levels, not four)
* reformat file
* Fix bug with fast repeated keypresses
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
* Cleanup - remove unused defines.
There were a number of defined variables that were carried over
from old code. - Removed.
Also a typo. - Fixed fix.
Also duplicate definitions of the number of seconds in a day.
-deduplicated.
* Cleanup - remove unused defines.
There were a number of defined variables that were carried over
from old code. - Removed.
Also a typo. - Fixed fix.
Also duplicate definitions of the number of seconds in a day.
-deduplicated.
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
It turns out that the Air530z is a GNSS_MODEL_MTK. Our existing
code detects and configures it properly. This patch removes a
couple of AIROHA ifdefs since they are not required for a
working GPS.
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
* Event mode: Enforce reliable hop limit
* Event mode: Short circuit wantsLink on MQTT for default broker address
* Just enforce at channels level since everything uses this
* For events never forward packets with excessive hop_limit
* In EVENT_MODE, don't respond with hop_limit set more then the configured max.
* Correct hop_start when correcting hop_limit in event mode.
* Make EVENT_MODE work from userPrefs.h
* Event mode: Disallow Router or Repeater roles
---------
Co-authored-by: Jonathan Bennett <jbennett@incomsystems.biz>
* Macro to trace log all MeshPackets as JSON
* Comment
* Add trace logging to file for native target
* bytes to hex
* Add time_ms
---------
Co-authored-by: Jonathan Bennett <jbennett@incomsystems.biz>
* add a userPrefs.h file, default blank, which can be used to easily set defaults on custom builds.
* Add Splash Screen to userPrefs
* Add channel 0 defaults to userPrefs.h
* CONFIG_LORA_IGNORE_MQTT_DEFAULT
* Unify naming for USERPREFS defines
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>