Commit Graph

188 Commits

Author SHA1 Message Date
Jonathan Bennett
dfcd0d14f6
Add MaxNodes to Native config (#3427)
* Add MaxNodes to Native

* It compiles...

* Convert nodedb to use new

* Closer but still broken.

* Finally working

* Remove unintended lines

* Don't include a pointer

* Capitalization matters.

* avoid rename in protocol regen

* When trimming the nodeDB, start with a cleanup

* Remove extra cleanupMeshDB() call for now

---------

Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2024-03-21 09:06:37 -05:00
GUVWAF
af9d14c370 Periodic reporting of device information to a map via MQTT 2024-03-10 14:52:37 +01:00
GUVWAF
585805c3b9
Add original hop limit to header to determine hops used (#3321)
* Set `hop_start` in header to determine how many hops each packet traveled

* Set hopLimit of response according to hops used by request

* Identify neighbors based on `hopStart` and `hopLimit`

* NeighborInfo: get all packets and assume a default broadcast interval

* Add fail-safe in case node in between is running modified firmware

* Add `viaMQTT` and `hopsAway` to NodeInfo

* Replace `HOP_RELIABLE` with hopStart for repeated packet

---------

Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2024-03-08 07:13:57 -06:00
Andrew Yong
74b90d3505
Add Singapore Region (#3165)
Add 923MHz band for Singapore.

Regulatory reference: https://www.imda.gov.sg/-/media/imda/files/regulation-licensing-and-consultations/ict-standards/telecommunication-standards/radio-comms/imdatssrd.pdf bands 30d.

Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2024-02-09 15:52:08 -06:00
GUVWAF
8f6a2836b8
Mark packets received via MQTT and add option to ignore them (#3117)
* Mark packets received via MQTT and add option to ignore them

* Don't send packets received via MQTT back into MQTT
Generate implicit ACK for packets we as an MQTT gateway sent

---------

Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2024-01-20 14:22:09 -06:00
Amin Husni
bacc525d0a
Add Malaysia Region (#3053)
* Add Malaysia Region

Add frequency for 433MHz and 919MHz with specific power limit and limitation.

* Update RadioInterface.cpp

Formatting issues
2024-01-05 15:37:31 -06:00
Jonathan Bennett
8d37d93e05
Hash function needs uint32_t for some platforms. (#3038) 2023-12-26 13:21:09 -06:00
S5NC
0b9accc3b6
Remove redundant checks for power of 0 (#2934)
* Add comment explaining necessity for second 0 check

Thank you @GUVWAF

* Update RF95Interface.cpp

* Update STM32WLE5JCInterface.cpp

* Update SX126xInterface.cpp

* Update SX128xInterface.cpp

* remove whitespace...

* Update SX128xInterface.cpp
2023-11-13 06:19:02 -06:00
GUVWAF
0f9936a0e0
Change default Coding Rate to 4/5 for <=LongFast (#2920)
Increases througput at the cost of a little bit of sensitivity
Non-breaking as the CR is sent in the LoRa header
2023-11-02 09:21:07 -05:00
code8buster
f737ee59ec
Deny maxhops to anyone who sets >7 (#2808)
* Deny maxhops to anyone who sets >7

* Use reliable hop count instead of 3
2023-09-18 12:58:09 -05:00
luzpaz
003047baaf
Fix various typos (#2607)
* Fix various typos

Found via `codespell -q 3 -L acount,clen,dout`

* Trunk reformatting

---------

Co-authored-by: code8buster <communismisgreat@national.shitposting.agency>
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2023-07-14 16:25:20 -05:00
GUVWAF
b9ad274104
Update retransmission timer based on client offset (#2583) 2023-07-02 16:30:28 -05:00
Andre K
207d421fca
refactor tx delay calculation for routers and non-routers (#2542) 2023-06-06 17:33:51 -05:00
IhorNehrutsa
9c683f4c87
Fix LOG_DEBUG messages when no DEBUG_PORT. (#2485)
* Fix LOG_DEBUG messages when no DEBUG_PORT.

* Fix LOG_DEBUG messages when no DEBUG_PORT.

* Fix LOG_DEBUG messages when no DEBUG_PORT.

* Fix LOG_DEBUG messages when no DEBUG_PORT.
2023-05-13 05:33:14 -05:00
Thomas Göttgens
ed96321406 fix newline detection in error printing
Our code check for newline in the format string, not in the parameter
2023-03-31 11:04:15 +02:00
Andre K
7bbfa48b5d
fix channel_num log (#2361)
* fix channel_num variable

* fix channel_num log instead
2023-03-17 13:36:10 -05:00
GUVWAF
6d443d2c67
SX126x/8x: Also use PREAMBLE_DETECTED IRQ flag for actively receiving check (#2349)
* Use startReceive() instead of startReceiveDutyCycleAuto()

* Add preamble detected IRQ

* Escape from 'freeze' state when packet should have been received

* Use RADIOLIB_GODMODE for access to clearIrqStatus

* SX126x: Better handling of false preamble detections

* SX128x: Add preamble IRQ and false detection handling to active receiving check

* Remove unnecessary function declaration

---------

Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2023-03-11 12:59:29 -06:00
Thomas Göttgens
8e197fc35b fixes #2327 2023-03-06 12:50:05 +01:00
GUVWAF
408c555f0f
Add airtime of current received/transmitted packet to nextTx time of all pending retransmissions (#2309)
To avoid unnecessary retransmissions when sending them too early

Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2023-02-25 19:51:38 -06:00
Thomas Göttgens
b952c35da6 eliminate main source of multiline logging 2023-02-07 01:02:51 +01:00
Ben Meadors
0a3e512387
Merge branch 'master' into prefer-repeaters-too 2023-01-30 10:29:14 -06:00
Ben Meadors
7b249deb26 Trunk it 2023-01-30 10:29:07 -06:00
Ben Meadors
dab2bb3bcc Weight tx delay to prefer Repeaters as well 2023-01-30 10:24:46 -06:00
Thomas Göttgens
afcd7acfab User configurable center frequency 2023-01-30 17:24:19 +01:00
Ben Meadors
00196ab7e7 Long moderate 2023-01-29 09:53:38 -06:00
Thomas Göttgens
cdf379616c whatever makes trunk happy. 2023-01-21 21:23:24 +01:00
Thomas Göttgens
6fdb93cd16 re-add namespacing in protobufs. Let's see what i missed. Portduino likely ...
Checking in generated on purpose.
2023-01-21 21:23:24 +01:00
Thomas Göttgens
51b2c431d9 trunk roundhouse kick 2023-01-21 21:23:24 +01:00
GUVWAF
836559cda1 Fix two print format specifiers 2023-01-19 15:01:44 +01:00
Thomas Göttgens
d5a3acb83a Trigger rebuild 2023-01-16 17:55:17 +01:00
Krezalis
efbdb273c3 Update RadioInterface.cpp 2023-01-16 17:55:17 +01:00
Krezalis
011013ab1a Update RadioInterface.cpp 2023-01-16 17:55:17 +01:00
Krezalis
49279e56d0 Update RadioInterface.cpp 2023-01-16 17:55:17 +01:00
Krezalis
1cfda77356 Add 868 MHz Ukrainian Band 2023-01-16 17:55:17 +01:00
Thomas Göttgens
8465467aa8 2nd batch 2023-01-07 14:57:00 +01:00
Thomas Göttgens
03c5dfc7a8 initial cleanup work 2023-01-07 13:16:58 +01:00
Ben Meadors
f1cdfd163d Replaced all of the logging with proper log levels 2022-12-30 10:27:07 -06:00
Ben Meadors
0b5cae5393 Log levels refactoring 2022-12-29 20:41:37 -06:00
Thomas Göttgens
2ac2b6d1b6 replace PB03 compat macros with the real deal. 2022-12-23 10:00:34 +01:00
Ihor Nehrutsa
6507683909 Squashed commit of the following:
commit c8d1bcf04fae5f7ac5b639ddd15a738045014c95
Author: Ihor Nehrutsa <Ihor.Nehrutsa@gmail.com>
Date:   Fri Nov 25 15:11:18 2022 +0200

    Revert "variants\tbeam\variant.h: Use LORA_CS instead of RF95_NSS"

    This reverts commit 8d225ced9c.

commit 1c37097448393ea9364c2b9bf10522802c61d5c4
Author: Ihor Nehrutsa <Ihor.Nehrutsa@gmail.com>
Date:   Fri Nov 25 15:04:09 2022 +0200

    Some little debugs added

commit f1b55e11af
Author: Ihor Nehrutsa <Ihor.Nehrutsa@gmail.com>
Date:   Wed Nov 23 15:24:58 2022 +0200

    Update variant.h

commit 8d225ced9c
Author: Ihor Nehrutsa <Ihor.Nehrutsa@gmail.com>
Date:   Wed Nov 23 13:06:49 2022 +0200

    variants\tbeam\variant.h: Use LORA_CS instead of RF95_NSS
2022-11-25 15:17:24 +02:00
Thomas Göttgens
7a67388a97 Merge branch 'master' of github.com:meshtastic/firmware into develop 2022-11-12 14:34:51 +01:00
puzzled-pancake
3737252d39
Update NZ_865 to 36dBm
Updated NZ_865 to 36dBm as per:
https://rrf.rsm.govt.nz/smart-web/smart/page/-smart/domain/licence/LicenceSummary.wdk?id=219752

6dBW = 36dBm/4watt
2022-11-12 17:55:28 +13:00
Thomas Göttgens
74f31d7d68 Fix SX1280 init 2022-11-10 23:00:01 +01:00
Thomas Göttgens
16444c190d Ignore Band power limits for licensed HAMs 2022-11-05 20:13:47 +01:00
Ben Meadors
568434d0fa
Use preset wiring (#1845)
* When we init default, set use_preset to true

* Only use modem_preset when we use_preset

* When we init default, set use_preset to true (#1843) (#1844)
2022-10-22 18:51:22 -05:00
Thomas Göttgens
e65d9e8ccd
Add support for SX1281 on 2.4 GHz (#1809)
* Add support for SX1281 on 2.4 GHz

* only allow wide BW settings when the right chip is detected

* portduino cannot use this chip yet as it uses an old modified version of radiolib

* missed a spot

* Attempt to supress false positive

* Attempt to supress false positive

* Trying casing from the cpp-check manual

* Trying casing from the cpp-check manual

* Inline suppr should be default but...

* Maybe casting it will make the damn thing shut up

Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2022-10-17 08:33:41 -05:00
Thomas Göttgens
984f0ca12c check allowed range for lora.channel_num 2022-10-10 12:28:31 +02:00
Thomas Göttgens
0f7a126828 fix compiler warning 2022-10-04 09:11:24 +02:00
Sacha Weatherstone
4df81008bc
Merge branch 'master' into channel_num 2022-10-03 10:32:56 +10:00
GUVWAF
067bde321b Remove old SimRadio from RadioInterface 2022-10-01 11:57:27 +02:00
andrekir
8f84d7089c move channel_num to loraConfig 2022-09-30 17:33:43 -03:00
Ben Meadors
397030b5a6
GPS intervals (#1693)
* GPS intervals

* Backwards logic

* Oops
2022-09-12 18:07:21 -05:00
Ben Meadors
18f37981bb Spelling and fixing defaults 2022-09-12 07:55:17 -05:00
Thomas Göttgens
f7b12f0695 Adapt to new protobufs - TODO: factory_reset rewire 2022-09-09 12:51:41 +02:00
Thomas Göttgens
43733ce150 Fix formula to consider Bandwidth in kHz 2022-07-21 10:07:08 +02:00
Jm Casler
62aa740c93 Updated channel selection formula 2022-07-19 07:36:55 -07:00
Shiv Kokroo
d179f02519 Removed comment about frequency hopping
Removed comment about frequency hopping due to lack of universal hardware support
2022-07-15 16:37:53 +02:00
Shiv Kokroo
67a7056025 Change page number to section for reference document 2022-07-15 16:37:01 +02:00
Shiv Kokroo
930b023d10 Allow up to 500mW transmission power for EU868 region
The European Union regulations clearly state that the power limit for this frequency range is 500 mW, or 27 dBm. goTenna Mesh uses the same frequency range and power limit too.

It also states that we can use interference avoidance and spectrum access techniques to avoid a duty cycle.

It might be worthwhile in the future to implement frequency hopping to avoid duty cycling.

(Please refer to page 69 in the following document)
        https://ec.europa.eu/growth/tools-databases/tris/index.cfm/ro/search/?trisaction=search.detail&year=2021&num=528&dLang=EN
2022-07-15 16:06:41 +02:00
Ben Meadors
1efcd5e125
Merge branch 'master' into master 2022-07-02 14:44:40 -05:00
Ben Meadors
4a08f86f96
Oops (#1545) 2022-07-02 09:25:01 -05:00
Ben Meadors
3f0ff45232
Node db cleanup and debug prints (#1543)
* Node db cleanup and debug prints

* File name cleanup
2022-07-02 09:09:41 -05:00
Jm Casler
d81b043f1d Add ability to adjust frequency by config.lora.frequency_offset 2022-06-25 22:43:13 -07:00
Jm Casler
90baf9d8a0 Fix typo in the modem presets 2022-06-21 19:23:07 -07:00
Thomas Göttgens
4a6cad6e46 Set TX Power to some meaningful value 2022-06-13 23:00:50 +02:00
GUVWAF
a1b07ed6aa
Introduce contention window (CW) (#1500)
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2022-06-13 08:21:18 -05:00
Jm Casler
94f7e7037d
Merge branch 'compression' into new-compression 2022-05-23 21:18:45 -07:00
Thomas Göttgens
53e9f4df46 Segemented config works for me (TM)
Small GPS Fix that cropped up while testing included.
2022-05-21 22:38:33 +02:00
Sacha Weatherstone
8b42b78033
Merge branch 'master' into master 2022-05-08 00:23:18 +10:00
GUVWAF
a7f4263db4 Optimize retransmission timer
Based on airtime of packet + transmit, processing and CAD delays
2022-05-07 15:43:35 +02:00
Sacha Weatherstone
6b0ce6b729
Finish config transition 2022-05-07 20:31:21 +10:00
Sacha Weatherstone
ea86f76393
Move LoRa config out of primary channel 2022-05-07 13:34:06 +10:00
Jm Casler
4785367915 Temp work on compression 2022-04-25 08:02:51 -07:00
Jm Casler
e905f15a0f Added new roles 2022-03-29 22:02:21 -07:00
Jm Casler
3816a2fbe0 Add weighted tx delay for flooding router 2022-03-14 17:47:01 -07:00
Jm Casler
6d4d2bb6fa Merge branch 'router' of https://github.com/mc-hamster/Meshtastic-device into router 2022-02-28 17:47:11 -08:00
Jm Casler
32ef354c22 Add rssi to printPacket 2022-02-28 17:47:09 -08:00
puzzled-pancake
91b0fcb257
Added comments on ANZ added 1w limit
Added comments 
https://iotalliance.org.nz/wp-content/uploads/sites/4/2019/05/IoT-Spectrum-in-NZ-Briefing-Paper.pdf
https://www.iot.org.au/wp/wp-content/uploads/2016/12/IoTSpectrumFactSheet.pdf

As noted 1w limit on both
2022-02-28 10:39:48 +13:00
puzzled-pancake
9b44d2e999
Update RadioInterface.cpp 2022-02-27 18:12:27 +13:00
puzzled-pancake
f9bcddafef
Update RadioInterface.cpp 2022-02-27 17:30:11 +13:00
puzzled-pancake
a25beff241
Update RadioInterface.cpp 2022-02-27 17:29:25 +13:00
puzzled-pancake
f2a31cc678
Update RadioInterface.cpp
Add NZ 866
2022-02-27 17:01:25 +13:00
Jm Casler
3a621ef262 Fix bug in frequency formulas 2022-02-15 18:48:54 -08:00
Jm Casler
57bbd912b1 Fix typo in default channel (Thanks Andre!) 2022-02-15 07:36:28 -08:00
Jm Casler
1de086819c Remove myNodeInfo.num_bands. It's not used by android. 2022-02-14 19:45:26 -08:00
Jm Casler
96b5537217 New bands, new band plans and new channel configurations 2022-02-14 19:32:31 -08:00
Jm Casler
f01952bd0d Create new default channel configurations. #965
Create new default channel configurations. #965
2021-12-06 15:03:35 -08:00
Solanaceae
d5e4ceebcc Small fix for using 62.5Khz bandwidth setting. 2021-11-01 02:31:53 -07:00
Vladislav Osmanov
bd9bf585d3 save channel & freq before outputting them for debugging
The frequency could be overridden in `RadioInterface::getFreq()` for some modules.
2021-09-15 12:09:11 +03:00
Vladislav Osmanov
cb42440963 fix module frequency overriding
The `RadioInterface::freq` member was encapsulated with the `RadioInterface::getFreq()` function,
which could be overridden in child classes for some LoRa-modules.
2021-09-13 22:13:51 +03:00
Kevin Hester
17a1262382 pull in new epaper lib (which required importing configuration.h everywhere
for dumb reasons)
2021-06-27 10:56:28 -07:00
Kevin Hester
a845406a19 cleanup packet encrypt/descrypt 2021-04-05 09:24:00 +08:00
Kevin Hester
c798c0032c add frequency_offset 2021-04-02 09:14:12 +08:00
Kevin Hester
b68397a911 fix simradio init to work more like real radios 2021-03-30 23:39:51 +08:00
Kevin Hester
5fdcb72d46 cleanup applyModemConfig based on porduino testing, share with sim 2021-03-30 23:34:13 +08:00
Kevin Hester
b02212009a progress on remote settings 2021-03-12 14:10:36 +08:00
Kevin Hester
1f33506962 Add RU region 2021-03-06 21:10:36 +08:00
Kevin Hester
c88b9732eb REALLY IMPORTANT: fix bug with retransmissions not happening 2021-03-06 11:13:33 +08:00
Kevin Hester
f8d8dc25c0 properly route messages to phone again 2021-02-23 14:35:34 +08:00
Kevin Hester
94cd96cfde begin multichannel hash impl 2021-02-22 12:57:26 +08:00