Commit Graph

278 Commits

Author SHA1 Message Date
Gareth Coleman
1291da746b
Support for alt I2C address for LSM6DS3 sensor, identification of TCA9555 IO Expander, resolve serial hang issue (#3622)
* basic identification of TCA9555

* recognise LSM6DS3 on alt address

* keep variant.h changes out of this PR

* 2nd attempt to keep variant.h changes out of this PR

---------

Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2024-04-15 07:30:45 -05:00
Gareth Coleman
f4a2023dba
LSM6DS3TR-C support (#3593)
* started work on pulling in the unphone library and dependencies, to do e.g. power switch management and etc.; currently failing at Adafruit_ImageReader

* now compiles with unphoneLibrary included

* successfully pulled in unphone library to manage power switch and init vibe motor and etc.
doesnt print to serial tho...

* simplified the build a bit; when doing meshtastic do not depend on the MCCI lora libs etc., then also no need to config them via build flags

* version that doesnt trigger brownout

* cleaned up initVariant a little

* note re. GPS

* back to mesh upstream version

* this time we're back to mesh upstream version

* getting LSM6DS3TRC driver installed

* shake to wake works, set threshold quite low may need increasing

* whats the crack with these end of file changes?

* paramatize the wake threshold

* try to get the PR to just include real changes

* got the right config item and also not giving compiler messages

* moved the lib_deps for the LSM6DS3TRC driver from our variant platformio.ini to the main one in root so all boards have it

* stuupid error #define-ing

---------

Co-authored-by: Hamish Cunningham <hamish@gate.ac.uk>
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2024-04-11 19:40:14 -05:00
Jim Whitelaw
acc32916c3
Add multiple configuration options for a minimized build (GPS,WiFi,BT,MQTT,Screen). (#3469)
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2024-03-25 06:33:57 -05:00
Thomas Göttgens
b960dc1b41
Add Shutdown and reboot to CardKB and friends (#3487)
* Add Shutdown and reboot to CardKB and friends

* aw shucks
2024-03-24 13:41:45 -05:00
Thomas Göttgens
13cc1b0252
(3/3) Add variant for pico with waveshare and GPS hat (#3412)
* (3/3) Add variant for pico with waveshare and GPS hat, utilizing slow clock.

* Not everybody has Serial2

* Trunk

* Push it real gud

* No init

---------

Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2024-03-16 10:01:43 -05:00
Thomas Göttgens
892223a297
fix typos and add 2 missing modules to the equasion (#3370) 2024-03-11 07:52:46 -05:00
Thomas Göttgens
f5ff77c2b9
Turn off certain modules not wanted in custom builds (#3337) 2024-03-05 07:50:52 -06:00
Huston Hedinger
13c8dca6b4
[BOARD]: CanaryOne (#3150)
* compiling w/o e-ink display

* pinout changes

* progress getting LoRa and LCD working

* fix for bootloader, gps pins

* add canary to build matrix

* merge with main

* fix build by excluding BellModem in RadioLib

* fixes for GPS

* Fix LED_BLUE and GPS RX/TX pins

* Variant changes for merge

* make GPS baud rate configurable

* fix debug config

* Canary v1.2 changes

* Fixes for GPS

* pass trunk check

* bump protobufs to master

* update build flags to use CANARYONE enum

* use canaryone throughout for consistency.

* #define 0 is still defined

* add back .vscode/extensions.json

* bump protobufs

* revert manual change to generated file

---------

Co-authored-by: Steven Osborn <steven@lolsborn.com>
2024-02-10 17:55:32 -06:00
Ben Meadors
46bd6ca7ba
YAML based config for PI / Portduino (#2943)
* Add configuration via /etc/meshtastic/config.yaml

* Move example config, support more locations

* Fix config check

* Use access() to check for config file presence

* Throw an error and exit on radio init fail

* Adds error check for reading Bluetooth MAC

* Settle on meshtasticd, add install script

* Shell fixes

* Fine. I'll put it back and then disable you

* Get wrekt, shellchekt

* Firat attempt at adding raspbian CI build

* Tickle the workflow

* Beatings will continue til morale improves

* Permissions are overrated

---------

Co-authored-by: Jonathan Bennett <jbennett@incomsystems.biz>
2023-11-18 08:12:34 -06:00
S5NC
19be230b24
Update configuration.h 2023-11-08 21:58:33 +00:00
Ric In New Mexico
f57020412e
INA3221 / Power Telemetry Payload Variant Implementation (#2916)
* INA3221 / Power Telemetry Variant Implementation
	modified:   platformio.ini
	modified:   src/configuration.h
	modified:   src/detect/ScanI2C.h
	modified:   src/detect/ScanI2CTwoWire.cpp
	modified:   src/main.cpp
	modified:   src/modules/Modules.cpp
	new file:   src/modules/Telemetry/PowerTelemetry.cpp
	new file:   src/modules/Telemetry/PowerTelemetry.h
	new file:   src/modules/Telemetry/Sensor/INA3221Sensor.cpp
	new file:   src/modules/Telemetry/Sensor/INA3221Sensor.h
	modified:   src/mqtt/MQTT.cpp

* ifdef for portduino / linux native
	modified:   src/modules/Telemetry/PowerTelemetry.cpp

* try #2
	modified:   src/modules/Modules.cpp
	modified:   src/modules/Telemetry/PowerTelemetry.cpp
	deleted:    variants/xiao_ble/1.0.0/libraries/SPI/SPI.cpp

* try #3
	modified:   src/modules/Modules.cpp

* try #4
	modified:   src/modules/Telemetry/PowerTelemetry.cpp

* try #5?
	modified:   src/modules/Telemetry/PowerTelemetry.cpp

* try #6
	modified:   src/modules/Telemetry/PowerTelemetry.cpp

---------

Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2023-11-04 20:07:00 -05:00
Jonathan Bennett
1a2c7f00e1
Gps cleanup and powersave (#2807)
* Refactor GPS to not probe if pins not defined

* Use Named Constructor to clean up code

* Move doGPSPowerSave to GPS class

* Make sure to set GPS awake on triple-click

* Cleanup and remove dead code

* Rename GPS_PIN_WAKE to GPS_PIN_STANDBY

* Actually put GPS to sleep between fixes

* add GPS_POWER_TOGGLE for heltec-tracker and t-deck

* Change GPS_THREAD_INTERVAL to 200 ms

* More dead code, compiler warnings, and add returns

* Add Number of sats to log output

* Add pgs enable and triple-click config

* Track average GPS fix time to judge low-power time

* Feed PositionModule on GPS fix

* Don't turn off the 3v3_s line on RAK4631
when the rotary is present.

* Add GPS power standbyOnly option

* Delay setting time currentQuality
to avoid strange log message.

* Typos, comments, and remove unused variable

* Short-circuit the setAwake logic on GPS disable

* heltec-tracker 0.3 GPS power saving

* set en_gpio to defined state

* Fix fixed_position logic with GPS disabled

* Don't process GPS serial when not isAwake

* Add quirk for Heltec Tracker GPS powersave

---------

Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
Co-authored-by: mverch67 <manuel.verch@gmx.de>
Co-authored-by: Manuel <71137295+mverch67@users.noreply.github.com>
2023-09-23 23:45:35 -05:00
Manuel
ef957bfac5
support BB Q10 keyboard (#2703)
* support BB Q10 keyboard

* remove debug code

* fix wrong logic

* fix left/right keys for cardkb

* Try to enable Q10 kb after all

* cppcheck

* Only fire on Key release and assume 0x0a is a enter as well

---------

Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
Co-authored-by: Thomas Göttgens <tgoettgens@gmail.com>
2023-08-19 08:37:42 -05:00
Thomas Göttgens
5d76771fab
Permanently Enable Canned Messages on T-Deck and Picomputer (#2728)
* - Permanently Enable Canned Messages on T-Deck and Picomputer
- picomputer has a really dark TFT; switch color to white for better UX.

* well, you know... bullock...
2023-08-16 15:07:22 -05:00
Manuel
502a6596a3
T deck: support keyboard, trackball and touchscreen (#2665)
* add hwid for auto-detection

* fix: heltec-wireless-tracker USB serial

* T-Deck support

* trunk fmt

* set FRAMERATE to 1

* fix some defines

* trunk fmt

* corrected vendor link

* T-Deck: support keyboard, trackball & touch screen

* T-Watch add touchscreen defs, remove getTouch

* fix warnings

* getTouch uint16 -> int16

* fix touch x,y

* fix I2C port

* CannedMsgModule: use entire display height

* trunk fmt

* fix I2C issue for T-Watch

* allow dest selection in canned mode

* fix: allow dest selection in canned mode

* use tft.setBrightness() to poweroff display

* Increased t-watch framerate and added back haptic feedback

* add da ref

* Move to touched

* improved sensitivity and accuracy of touch events

* use double tap to send canned message

* fix warning

* trunk fmt

* Remove extra hapticFeedback()

---------

Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2023-07-30 07:51:26 -05:00
Ben Meadors
0739bc0cea
T-Watch S3 Support (#2632)
* T-Watch WIP

* Updates

* Temp

* Update screen spi bus and and backlight en

* Peripherals progress

* Fixes

* Fixes

* Updates

* DRV scaffolding

* Fixed touch-screen driver selection. WIP on DRV haptic feedback

* DRV2605 pmu channel

* Trunk

* Fixes and defaults

* Dropped an s

* Move PMU and turn off screen that way

* Add t-deck and t-watch-s3 to CI and cleanup

* More cleanup
2023-07-22 09:26:54 -05:00
Ben Meadors
09d48f659e
RAK14001 RGB LED support (#2464)
* WIP

* WIP

* Moved it

* More random strobey behavior

* Guard to RAK4630 devices for now

* Oops

* Ship it
2023-05-06 07:17:40 -05:00
Ben Meadors
5cb1f96240
Use accelerometer to wake up screen (#2371)
* WIP accelerometer tinkering

* Debug logging

* RAK LIS3DH sensor

* Deconflict temperature sensor and LIS3DH

* Finishing up

* StateON

* Protobufs

* Default of none

* Formatting
2023-03-23 11:32:04 -05:00
Ben Meadors
d83a0b1818 Initial air quality telemetry feature 2023-02-04 13:07:14 -06:00
Thomas Göttgens
51b2c431d9 trunk roundhouse kick 2023-01-21 21:23:24 +01:00
miaoski
506bae4a8b Support SHT31 temperature sensor 2022-12-27 19:39:51 +08:00
Thomas Göttgens
65197a8e48 - Add new Compass Sensor
- speed up I2C Scanning
- make adding sensors less error prone
2022-11-12 11:03:29 +01:00
Ben Meadors
311835a231
Implement extended device metadata (#1874)
* Implement extended device metadata

* HAS_BLUETOOTH should be global
2022-10-30 10:02:11 -05:00
Thomas Göttgens
f3fee5f4fb first murmurs of ethernet support 2022-10-22 16:29:50 +02:00
Ben Meadors
6b614a2d6a
Added LPS22HB (RAK-1902) sensor support (#1802) 2022-10-15 14:55:57 -05:00
Ben Meadors
a3e67f8e4b
SHTC3 Sensor (RAK-1901) support (#1800) 2022-10-15 09:11:05 -05:00
Thomas Göttgens
a7fe69ed6b Support for ATECCA608B Cryptographic Coprocessor 2022-10-13 12:55:28 +02:00
lewis he
004f6fa4d6
Add t-beam-s3-core onboard device support. (#1764)
* Change t-beam-s3-core pins definitions

* Add t-beam-s3-core power initialization to properly initialize the I2C device

* Add 6-axis and 3-axis sensor detection
2022-10-07 06:57:55 -05:00
Thomas Göttgens
93cc278eee implement #1406 2022-10-04 09:47:54 +02:00
Thomas Göttgens
ab342ce904 Freetext Input with CardKB Take 1 - Also removes FacesKB support, this thing is ancient. 2022-09-20 13:50:18 +02:00
Ben Meadors
de22f20876
Turn region screen back on (#1621) 2022-08-11 14:24:35 -05:00
majbthrd
ade32b1827
lay groundwork for a possible future architecture (#1571)
* lay groundwork for a possible future architecture

* switch from feature opt-out to feature opt-in

* lay groundwork for a possible future architecture

* switch from feature opt-out to feature opt-in

* fix USE_RTC in variant.h for rak4631_epaper and t-echo

* ensure Screen.h is not included without configuration.h

Co-authored-by: Peter Lawrence <12226419+majbthrd@users.noreply.github.com>
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2022-07-31 07:11:47 -05:00
Jm Casler
38088253f8
disable welcome screen 2022-07-08 17:56:49 -07:00
Thomas Göttgens
aead7a23f9 - Put Modemconfig in logical order and fix typo
- non-zero config.lora.bandwidth means a custom radio config, not 'Unknown'
- Enable 'this is a new device, set region' screen again now we can actually set region.
2022-06-22 09:52:08 +02:00
Ben Meadors
90957e6994
INA260 + INA219 sensor support (#1501)
* INA219 + INA260 support in telemetry

* Protobuf update

* Fixes + debug statement

* Fix size

* Fix conversion from mv

* Added getRegisterValue for i2cscan
2022-06-11 16:44:56 -05:00
Ben Meadors
eafbef0c2f
Scan for i2c sensors in environmental telemetry if enabled (#1492)
* Scan for i2c sensors in environmental telemetry if enabled

* Update TelemetrySensor.h

* Added surpression.

* Remove suppression and fix real bug

* Interrogate BME sensor id registers
2022-06-05 09:50:06 -05:00
Jm Casler
80e08f6de9 Disabled the unset welcome screen 2022-06-03 21:51:47 -07:00
Jm Casler
f3c15eb6cc Completed compression. Tested between two devices. 2022-05-24 17:42:46 -07:00
Jm Casler
94f7e7037d
Merge branch 'compression' into new-compression 2022-05-23 21:18:45 -07:00
Thomas Göttgens
3d0d45a695 More UBX stuff from 1.2 2022-05-18 18:29:26 +02:00
Thomas Göttgens
7133e6e89b Use canon HW Identifier for M5 2022-05-10 11:10:32 +02:00
Jm Casler
d6b20ea623
Merge branch 'meshtastic:master' into compression 2022-05-01 19:35:26 -07:00
Thomas Göttgens
516dff5b09 RTC Module support for T-Echo and others with PCF8563 2022-04-28 08:18:03 +02:00
Thomas Göttgens
9e97fac252 - implement generic support for on-device battery powered RTC Modules.
- implement support for I2C RV-3028 based RTC modules like the RAK12002
- pretty print some debug timestamps
2022-04-27 11:05:08 +02:00
Thomas Göttgens
701707a01b - Bounds Check is working on big integers, don't throw away valid coordinates.
- Set ublox chips back to NMEA mode if they have been configured wrongly before.
2022-04-26 13:00:11 +02:00
Jm Casler
4785367915 Temp work on compression 2022-04-25 08:02:51 -07:00
Jm Casler
0c285aac6e enable welcome text 2022-04-14 21:32:00 -07:00
Jm Casler
a10ea604af Fixes for cppcheck errors 2022-04-14 15:51:48 -07:00
Jm Casler
7e977aea00 Add welcome screen feature toggle 2022-04-13 21:59:25 -07:00
Jm Casler
ecc114f1cd temp work on compression 2022-04-13 19:23:35 -07:00
Mark Trevor Birss
b7aa1397c7
Add DIY nRF82540 PCA10059 4.2inch NiceRF 868 (#1354)
* Update build-all.sh

* Update configuration.h

* Update EInkDisplay2.cpp

* Create platformio.ini

* Create variant.cpp

* Create variant.h

* Update platformio.ini

* Update check-all.sh

* Create nordic_pca10059.json

* Update variant.h

* Update EInkDisplay2.cpp

* Update configuration.h

* Update platformio.ini

* Update EInkDisplay2.cpp

* Update variant.h

* Update EInkDisplay2.cpp

* Update configuration.h

* Update EInkDisplay2.cpp

* Update variant.h

* Update nordic_pca10059.json

* Update platformio.ini

* Update platformio.ini

* Update platformio.ini

* Update platformio.ini

* Update variant.h

* Update variant.h

* Update variant.h

* Update variant.h

* Update variant.h

* Update variant.h

* Update variant.h

* Update configuration.h

* Update EInkDisplay2.cpp

* Update variant.h

* Update variant.h

* Update platformio.ini

* Update configuration.h

* Update configuration.h

* Update platformio.ini

* Update platformio.ini

* Update configuration.h

* Update platformio.ini

* Update configuration.h

* Update platformio.ini

* Update configuration.h

* Update configuration.h

* Update platformio.ini

* Update configuration.h

Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2022-04-05 11:46:07 -05:00
neilhao
0c600363c8
add nano g1 (#1351)
* add nano g1

* Update platformio.ini

* Update configuration.h

* Revert platformio.ini to previous state

* Update configuration.h

* Update platformio.ini

Co-authored-by: Thomas Göttgens <tgoettgens@gmail.com>
2022-04-04 20:16:19 +10:00
Thomas Göttgens
7c4bb80977 Variable GPS Thread Timing, keep default of 100 msec 2022-04-02 12:52:50 +02:00
Thomas Göttgens
f119e294af Add CardKB, FACES and RAK14004 support to inputbroker/cannedmessages 2022-03-28 16:55:58 +02:00
Thomas Göttgens
bbf044795a
weed out old versioning macros (#1312)
weed out old versioning macros
2022-03-20 11:53:37 +01:00
Ben Meadors
365120e9c2
Added RAK11200 board variant support (#1177)
* Added RAK11200 board variant support
2022-02-02 12:41:07 -06:00
Thomas Göttgens
9a505c27fa
add missing Config definition for PRIVATE_HW (#1174) 2022-02-01 08:08:03 -06:00
Ben Meadors
4e3fda87a1
Initial configuration.h -> variants refactor (#1104)
* Initial configuration to variants refactor
2022-01-18 18:35:42 -06:00
Mark Trevor Birss
975f7c0332
Fix SSD1306 OLED pinout on TLORA_V1_3
The V1.3 board OLED pinout changed from V1
Now on pin SDA(21) and SCL(22) not SDA(4) and SCL(15)

LILYGO Product Page
http://www.lilygo.cn/prod_view.aspx?TypeId=50060&Id=1253&FId=t3:50060:3

Product Pin
https://ae01.alicdn.com/kf/H098cb5d5159841b398fcfd4ebf705725W.jpg
2022-01-13 10:28:02 +02:00
Erik R Norell
17dfb7d152 Touch on T-Echo to refresh e-ink screen 2022-01-07 09:57:29 +03:00
Ben Meadors
de1d5d61ff
Merge branch 'master' into Heltec-V1 2022-01-01 14:11:52 -06:00
riddick
475348489e
Add status LED for diy targets and the core-pcb (#1049)
* Update device-install.sh

fix for #911

* add status led for diy target

Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2022-01-01 12:11:40 -06:00
Thomas Göttgens
c531ea8601
new Configuration section 2021-12-30 22:16:46 +01:00
Vladislav Osmanov
a27260a605 Overridden default pin to use for Ext Notify Plugin (#975)
In Meshtastic DIY `GPIO13` is used for `SX126X_TXEN`,
so we choose `GPIO12` as default for Ext Notification Plugin.
2021-12-17 12:13:27 +03:00
Ben Meadors
5ff6b919c6
Remove BATTERY_PIN from tlora v1 target (#996) 2021-12-15 07:50:36 -06:00
Solanaceae
b6d63059bf Change EXT_NOTIFY_PIN to EXT_NOTIFY_OUT per req. 2021-12-07 21:34:10 -07:00
Solanaceae
6cfdd99fd1 Update and configure ExNotify platforms 2021-12-07 20:26:26 -07:00
Jm Casler
eefef1dceb Add channel bitrate to myNodeInfo #959 2021-12-05 16:17:13 -08:00
Jm Casler
83c6d8b07e comment out AXP192_SLAVE_ADDRESS in configuration.h #952 2021-12-03 19:35:57 -08:00
Joar Svensson
d685682dd9 Define battery pin 2021-11-26 13:28:20 +01:00
Vladislav Osmanov
8eb0d685ac [LLCC68] module support 2021-11-17 13:28:08 +03:00
Vladislav Osmanov
92edfd3217 fix: GPS RX/TX pins mismatch 2021-10-08 21:17:05 +03:00
Vladislav Osmanov
bc7d1a4ef0 redefine GPS TX pin for DIY schematic 2021-09-25 00:28:01 +03:00
Vladislav Osmanov
e3d9b94367 New device board - [Meshtastic DIY v1] by @NanoVHF Schematic based on ESP32-WROOM-32 (38 pins) devkit & EBYTE E22 SX1262/SX1268 module
Subproject reference: https://github.com/NanoVHF/Meshtastic-DIY
2021-09-19 16:05:21 +03:00
Vladislav Osmanov
098f38fb83 New base class for SX126x modules. Added new SX1268 module support. 2021-09-12 00:35:16 +03:00
Kevin Hester
7f51517961 better support for heltec 2021-05-11 09:44:41 +08:00
Kevin Hester
4c1b7d4840 pinelora WIP 2021-05-01 11:27:37 +08:00
Kevin Hester
c27d479a9f t-echo: add hwmodel 2021-04-29 09:51:10 +08:00
Kevin Hester
28b7bd347a Fix nrf52 USB (don't call delay() in loop() if connected via usb) 2021-04-28 15:11:55 +08:00
Kevin Hester
8e3281a658 pinelora WIP 2021-04-22 14:28:56 +08:00
Kevin Hester
6e27856daa pinelora WIP 2021-04-22 08:49:05 +08:00
Kevin Hester
55b38a7b02 RAK4631 is almost feature complete 2021-04-12 13:25:55 +08:00
Kevin Hester
b20930c111 move streamapi into a thread, saves power and increases responsiveness 2021-03-25 06:15:15 +08:00
Jm Casler
330d83e7c3
Merge pull request #78 from meshtastic/master
Update from head
2021-03-21 07:51:45 -07:00
Kevin Hester
e9faf657df move GPS_RX_PIN for the TLORA_V2_1_16 from 36 to 15 2021-03-21 18:58:43 +08:00
Jm Casler
103ffde025 Fixes for build of tlora_v1_3 2021-03-20 20:47:48 -07:00
Vadim Furman
7491af8ad7 Merge remote-tracking branch 'origin/master' 2021-03-19 17:07:16 -07:00
Kevin Hester
c410f2d151 fix tlora 1.6 build 2021-03-19 23:40:41 +08:00
Vadim Furman
0c51cc3738 Fix hardware model 2021-03-17 10:56:45 -07:00
Vadim Furman
2b9a8f0822 Merge remote-tracking branch 'origin/master' 2021-03-17 10:49:04 -07:00
Vadim Furman
c62863b1dc Merge from origin 2021-03-14 19:42:57 -07:00
Vadim Furman
98d878cdfe Port to lora_isp4520 board 2021-03-14 19:00:20 -07:00
Kevin Hester
d9fc7b32c3 move hw_model into User 2021-03-14 10:48:20 +08:00
Kevin Hester
9a03536e3d Use enums for hw_model per @sachaw idea. 2021-03-14 10:37:32 +08:00
Jm
e4141df0e9 #697 GPIO 12 is an odd pin. 2021-02-20 00:34:25 -08:00
Jm
c690f81574 #697 Disable internal pullup on this board. 2021-02-19 18:19:14 -08:00
Jm
47b942ca00 #697 - Fixed button selection for tlora v2 1.6 2021-02-19 17:46:15 -08:00
geoffreyheller
c8584d576a Fix for non-working tx pin 2021-02-15 19:33:35 -08:00
Jm
e9affb50d2 #674 add support for lora32 v1.3 2021-02-02 17:34:50 -08:00
Kevin Hester
ce4ccf3cc4 no need for lora CS control on linux, the spi controller handles it 2021-01-02 19:40:24 +08:00