Wykres commitów

525 Commity (aecef283807d5e5fb0e88bbf4dba41b25bd75cc4)

Autor SHA1 Wiadomość Data
Alistair Francis 58c8d2d1f4 examples/NonArduino/Tock: Remove libtock-c submodule
Remove the libtock-c submodule to fix https://github.com/jgromes/RadioLib/issues/1091

Signed-off-by: Alistair Francis <alistair@alistair23.me>
2024-05-13 19:45:13 +10:00
jgromes bcd8a05cd4 [SX128x] Added interface for interrupt-driven CAD (#1085) 2024-05-05 12:42:03 +01:00
jgromes 86cdefe8a2 [LR11x0] Added support for WiFi scanning 2024-05-05 11:35:35 +02:00
StevenCellist 163a4020d2 [LoRaWAN] Consistent fCnt/fPort casing to match documents 2024-05-04 23:18:36 +02:00
StevenCellist 43adfee174 [LoRaWAN] Shorten LORAWAN to LW 2024-05-03 22:58:11 +02:00
jgromes b675e0c034 Fix RPi example flags 2024-05-03 21:05:44 +01:00
Alistair Francis 2f85326fec
examples/NonArduino/Tock: Support RISC-V and bump libtock-c (#1082)
* examples/NonArduino/Tock: Support building for RISC-V

Signed-off-by: Alistair Francis <alistair@alistair23.me>

* examples/NonArduino/Tock: Update to newer libtock-c

Signed-off-by: Alistair Francis <alistair@alistair23.me>

---------

Signed-off-by: Alistair Francis <alistair@alistair23.me>
2024-05-01 15:12:05 +02:00
StevenCellist 1b2b8bd67b
[LoRaWAN] Improve PHY behaviour, update beginABP, bugfixes (#1080)
* [LoRaWAN] Add getter for ToA, prevent MAC queue overflow

* [LoRaWAN] Permute arguments to beginABP

* Implement & split off checkOutputPower

* [LoRaWAN] Configure physical layer on each up/downlink

* [LoRaWAN] Remove unnecessary dynamic array

* [LoRaWAN] Improve downlink handling

* Resolve return-warnings in checkOutputPower()

* [LoRaWAN] Improve buffer definition

* [LoRaWAN] Prevent requesting repeated MAC commands

* Update keywords.txt

* [CC1101] Resolve unused variable warning

* [CC1101] Update checkOutputPower

* [SX1278] Fix variable assignment

* Update keywords.txt

* [CC1101] Added checkOutputPower override for PHY compatibility

* [LR11x0] Added checkOutputPower override for PHY compatibility

* [SX127x] Added checkOutputPower override for PHY compatibility

---------

Co-authored-by: jgromes <jan.gromes@gmail.com>
2024-05-01 13:35:22 +02:00
Elizabeth Myers 205031550b
Use RadioLibTime_t (aka unsigned long) when dealing with millis() and micros() (#1075)
* Use unsigned long when dealing with millis() and micros().

Although sizeof(uint32_t) == sizeof(unsigned long) on Arduino, this is
not the case on 64-bit Linux, where sizeof(unsigned long) ==
sizeof(uint64_t).

Most timestamp arithmetic and comparisons have been left alone, to
reduce code churn. This is fine, as uint32_t is perfectly wide to store
most timestamp deltas this library will deal with, and C will promote
the integer rather than do a narrowing conversion. The real problem
arises with narrowing conversions being done by assuming timestamps are
32-bit.

No functional changes intended for platforms where sizeof(uint32_t) ==
sizeof(unsigned long) (so most 8/16/32-bit platforms).

Signed-off-by: Elizabeth Myers <elizabeth.jennifer.myers@gmail.com>

* Change most timestamps to use RadioLibTime_t.

This makes it obvious what is and isn't a timestamp.

Not everything has been converted; anything dealing with protocol and
chip-level timestamps has been left alone on purpose, to make it clear
that these functions do require 32-bit timestamps.

No functional changes intended on platforms where sizeof(uint32_t) ==
sizeof(unsigned long).

Signed-off-by: Elizabeth Myers <elizabeth.jennifer.myers@gmail.com>

* Use uint32_t internally in getTimeOnAir.

We need to not overflow the integers with the shifts and
multiplications, so this is correct behaviour.

Signed-off-by: Elizabeth Myers <elizabeth.jennifer.myers@gmail.com>

---------

Signed-off-by: Elizabeth Myers <elizabeth.jennifer.myers@gmail.com>
2024-04-25 21:50:58 +02:00
jgromes e8a6297c60 [LR11x0] Added support for LR-FHSS 2024-04-21 15:01:57 +02:00
jgromes 9451f36332 [LR11x0] Use IRQ instead of DIO1 as pin name 2024-04-21 08:34:00 +02:00
jgromes 01208574d9 [LR11x0] Added CAD support (#679) 2024-04-20 21:29:32 +02:00
jgromes b283c1b117 Added LR11x0 to supported protocols 2024-04-20 18:07:27 +02:00
jgromes 99d2e6c452 [LR11x0] Added direct mode support 2024-04-20 18:05:31 +02:00
jgromes 6fa4aa3ebb [LR11x0] Added GFSK modem support (#679) 2024-04-19 20:30:53 +02:00
jgromes 6d232a64cf Merge branch 'master' of https://github.com/jgromes/RadioLib 2024-04-14 20:23:00 +02:00
jgromes 77ed4452ae [LR11x0] Added basic LR11x0 support (#679) 2024-04-14 20:22:55 +02:00
jgromes 46ef20ebe9 Fix interrupt emulation in Raspberry Pi example 2024-04-14 14:37:55 +01:00
Velocet 91f89fa1f3
Updated board definitions for the LoRaWAN Examples (#1052)
* Update README.md

Clarify intended purpose. Remove unsupported modules.

* Update board configs in configABP.h

Added HelTec boards and corrected some errors

* Update board configs in config.h

Added HelTec boards and corrected some errors

* Update board configs in config.h

Added HelTec boards and corrected some errors

* Update prebuilt modules in notes.md

* Delete README.md

* Recreate README.md
2024-04-14 08:15:50 +02:00
jgromes d77823375a [LoRaWAN] Generate random numbers instead of digital/analog read (#1056) 2024-04-09 22:18:40 +02:00
StevenCellist aa46a0c8b3 [LoRaWAN] Hide broken CSMA 2024-04-02 22:25:50 +02:00
Matthias Prinke fbee7471c7
[LoRaWAN] Added pin maps (#1047)
* Added pin maps

* Modified pin map for ARDUINO_TTGO_LORA32_V2 (DIO1 not connected & not needed)
2024-04-01 21:03:38 +02:00
StevenCellist b2c7e98d6c
Update examples/LoRaWAN/README 2024-03-30 09:33:30 +01:00
jgromes 78211e7566 [LoRaWAN] Added specific error code for no downlink received 2024-03-27 18:48:16 +01:00
jgromes 5c891ae337 [LoRaWAN] Do not use analog pin macros that may not be defined 2024-03-26 20:23:53 +01:00
jgromes 5391d5d383 [LoRaWAN] Add cast for DevAddr print 2024-03-26 20:15:03 +01:00
Jan Gromeš 9e4783cf8b
[CI] Fix for new LoraWAN examples (#1035)
* Update CI for new LoRaWAN examples

* Use single line for flags

* Fixup flag strings

* Fixup array dump helper

* Added missing LoRaWAN defines

* Drop Teensy from CI (still broken)

* Define a board for CI runs
2024-03-26 06:55:37 +01:00
Nick McCloud 388a714e53 Added uplink complete msg 2024-03-25 14:21:14 +00:00
HeadBoffin 14e1a9bd42
Update notes.md 2024-03-25 14:09:09 +00:00
StevenCellist 61b94bf4fc
Fix typos in the LoRaWAN Starter notes 2024-03-25 14:13:57 +01:00
StevenCellist 2d454bdc61
Populate README with direct links to (persistence) examples 2024-03-25 14:05:54 +01:00
HeadBoffin 2f1efdb8a0
Create README.md 2024-03-25 13:00:22 +00:00
StevenCellist d1b911b273
Add link to persistence repository in LoRaWAN Reference example 2024-03-25 13:42:52 +01:00
StevenCellist 18c1ce47b4
Improve introductory comments in LoRaWAN ABP example 2024-03-25 13:41:04 +01:00
Nick McCloud c0ebd5a92e Header comments & ABP 2024-03-25 11:55:29 +00:00
HeadBoffin ff5ade2aa1
Merge pull request #1 from jgromes/master
LoRaWAN examples update
2024-03-25 11:17:57 +00:00
Nick McCloud 5bc97550ec Clean up prior named directories plus neglected Reference is included 2024-03-23 17:03:21 +00:00
Nick McCloud 0182a123fb Update of examples to latest API, testing, repeat 2024-03-23 17:00:13 +00:00
jgromes 24ffbfc284 Added ESP IRAM attribute to examples (#1010) 2024-03-10 20:40:41 +01:00
Nick McCloud a926d5e13a Change the names to protect the innocent 2024-03-02 14:01:32 +00:00
Nick McCloud 3d8c2e866d WIP Starter for preview 2024-03-02 13:54:49 +00:00
Nick McCloud ec9126dae0 Added last updated dates & corresponding RadioLib version number 2024-03-01 09:48:55 +00:00
Nick McCloud 7389d74e69 Update the reference version to latest LW code base 2024-03-01 09:46:38 +00:00
Nick McCloud 22045d7189 Range of tweaks & dutycycle / FUP 2024-02-28 20:46:47 +00:00
StevenCellist 5766d386af
[LoRaWAN] Improve persistence behaviour, add dwell time error, clear up debug output (#980)
* [LoRaWAN] Improve examples, add getter for DevAddr

* [ArduinoHAL] Only (over)write new values

* [HAL] Fix comment

* [TypeDef] Introduce error for LoRaWAN dwell time

* [LoRaWAN] Improve persistence behaviour, add dwell time error, clear up debug output

* [LoRaWAN] Prevent incorrect behaviour in restore()

* [LoRaWAN] Improve example comments and persistence

* [LoRaWAN] Fix DeviceTime and LinkCheck, fix FcntUp offset

* [LoRaWAN] Fix example incorrectly processing MAC commands

* [LoRaWAN] Fix downlink port, Fcnt 'underflow', user MAC processing

* [LoRaWAN] Add simple receive methods

* [LoRaWAN] Add co-author

Co-Authored-By: HeadBoffin <60431281+HeadBoffin@users.noreply.github.com>

* [LoRaWAN] Fix example output

* [LoRaWAN] Improve persistence behaviour, bugfix subband

* [LoRaWAN] Prevent useless rejoin during nonpersistent session

* [LoRaWAN] Graciously block an uplink if not joined

---------

Co-authored-by: HeadBoffin <60431281+HeadBoffin@users.noreply.github.com>
2024-02-27 17:29:45 +01:00
StevenCellist 0ea00fad44
[LoRaWAN] Improve examples, add getter for DevAddr (#974) 2024-02-15 20:36:03 +01:00
jgromes eaa42b0d6b Update RPi Pico SDK example 2024-01-27 14:03:40 +01:00
Cameron Goddard e558f541e1 add Pico HAL 2024-01-21 15:39:28 -05:00
StevenCellist 598228fba0 [LoRaWAN] Fix session restore throwing unnecessary error 2024-01-20 11:03:54 +01:00
StevenCellist 3338034ac7 [LoRaWAN] Update examples 2024-01-13 00:15:52 +01:00
StevenCellist 7c676f9393 [LoRaWAN] Implement requested changes 2024-01-08 22:33:34 +01:00
StevenCellist 2da09b5adc [LoRaWAN] Convert setDatarate() and setTxPower() to internal MAC; improve ADR 2024-01-06 15:03:55 +01:00
StevenCellist 574555ca09 [LoRaWAN] Revamp internal processing, key checking, new MAC commands, implement DutyCycle & DwellTime 2024-01-05 11:06:24 +01:00
jgromes c0d8d7871e [SX123x] Added support for SX1233 (#898) 2023-12-09 15:34:56 +01:00
StevenCellist b6f6718f1f
[LoRaWAN] Add datarate into event structure (#885)
* [LoRaWAN] Move TX power logic to function

* Update keywords

* [LoRaWAN] Add datarate into event structure
2023-11-27 16:43:56 +01:00
jgromes 7d57a5f6c7 [LoRaWAN] Fixed example naming 2023-11-18 16:27:29 +01:00
jgromes c96dd51f57 [LoRaWAN] Fixed inconsistent naming 2023-11-18 16:27:05 +01:00
jgromes 75a9420552 [LoRaWAN] Added event struct to pass extra info (#821) 2023-11-12 17:53:05 +01:00
StevenCellist 82258105b7
[LoRaWAN] Rework bands, official Rx windows, support ADR, confirm frames, improve EEPROM handling, support clock drift (#867)
* [LoRaWAN] rework bands, add ADR, partial MAC support

Known problem: terribly bad at receiving downlinks
Mask-list bands (e.g. US915) untested, likely a few bugs

* [LoRaWAN] Change Rx windows from CAD to RxSingle

* [LoRaWAN] improve persistence, better Rx windows, wear leveling, confirmed frames

* [LoRaWAN] Module-independent (OTAA) Rx windows, fix confirming downlinks

* [LoRaWAN] Implement SX127x support, fix MAC uplinking, support clock drift

* [ArduinoHal] fix clock drift calculation

* [LoRaWAN] Improve band & ADR logic, allow setting ADR, DR, subband, update examples

* [LoRaWAN] Fix EU868 coding rate, improve example

* [LoRaWAN] fix unused channel index

* [LoRaWAN] fix merge issue (deleted line)

* [LoRaWAN] fix CSMA calling now incorrect function

* [LoRaWAN] fix include logic

* [LoRaWAN] fix warnings, remove duplicate function

* [LoRaWAN] improve examples, add unified sendReceive, bugfixes, add FSK

* [LoRaWAN] improve examples

* [LoRaWAN] add new keywords, add debug guard

* [SX127x] Updated startReceive interface to be more in line with SX126x

* [SX127x] Added public method to convert from bytes to symbols

* [LoRaWAN] Update start receive for SX127x

* Added note about LoRaWAN beta

* [SX127x] Fixed potential float overflow

---------

Co-authored-by: jgromes <jan.gromes@gmail.com>
2023-11-12 14:02:39 +01:00
jgromes 3055613b6d [LoRaWAN] Added support for US bands and reworked channel selection process (#814) 2023-09-12 19:10:44 +02:00
Alistair Francis ffbcbdfc84 Tock: toolchain: Try to be smarter about finding toolchains
Instead of hard coding paths, let's instead try to find the toolchain
from the users PATH.

Signed-off-by: Alistair Francis <alistair@alistair23.me>
2023-09-08 19:29:49 +10:00
Alistair Francis 7e9e7ba7be Tock: Fixup build failure
Signed-off-by: Alistair Francis <alistair@alistair23.me>
2023-08-29 21:00:47 +10:00
jgromes b54aa77b42 [LoRaWAN] Fixed incorrect example name 2023-08-26 20:35:48 +02:00
jgromes 95e3839342 [LoRaWAN] Represent keys as byte arrays (#58) (#811) 2023-08-24 17:54:49 +02:00
jgromes 16f0ba7cce [LoRaWAN] Implemented MAC command support 2023-08-23 19:22:23 +02:00
jgromes cbd15192bc [SX126x] Fixed example path 2023-08-12 19:52:41 +02:00
jgromes cd9ac9916c [LoRaWAN] Added support for 1.1 and downlink (#58) 2023-08-12 19:49:37 +02:00
jgromes 23fbd87d14 [SX126x] Added Rx after CAD example 2023-08-12 18:58:11 +02:00
Alistair Francis 87200bd312 Tock: Use the default radio begin()
Signed-off-by: Alistair Francis <alistair@alistair23.me>
2023-07-24 21:10:23 +10:00
Jan Gromeš 12387daba0
Merge pull request #801 from alistair23/alistair/fixes
Tock: A few more cleanups and fixes
2023-07-22 19:14:24 +02:00
jgromes 7de2996505 [APRS] Added APRS over LoRa example 2023-07-21 18:35:48 +02:00
Alistair Francis fe892ecd31 Tock: Fixup the radio setup
Signed-off-by: Alistair Francis <alistair@alistair23.me>
2023-07-21 22:03:45 +10:00
Alistair Francis 6234a84ac9 Tock: Build libtock-c lib with the build script
Signed-off-by: Alistair Francis <alistair@alistair23.me>
2023-07-21 22:01:56 +10:00
Jan Gromeš 3a365a364a
Merge pull request #799 from alistair23/alistair/tock-fixes
Tock: Fixup the time calculations and call non-blocking yield
2023-07-20 16:23:54 +02:00
Alistair Francis 377385fb13 Tock: Don't call blocking yield
Signed-off-by: Alistair Francis <alistair@alistair23.me>
2023-07-20 21:42:51 +10:00
Alistair Francis 2edbe9cd57 Tock: Fixup time calculation
Signed-off-by: Alistair Francis <alistair@alistair23.me>
2023-07-20 21:42:51 +10:00
jgromes 5e9b60a4b4 [LoRaWAN] Added APB example 2023-07-16 16:54:13 +02:00
jgromes 76ac7d3dad [STM32WL] Fixed output power for modules without LP (#798) 2023-07-16 15:50:26 +02:00
jgromes 5f2e5a1997 Added getPacketLength to examples (#214) 2023-07-15 19:36:23 +02:00
Alistair Francis bb61063810 Tock: Expand the .gitignore
Signed-off-by: Alistair Francis <alistair@alistair23.me>
2023-07-13 22:43:22 +10:00
Alistair Francis 3c7dc7acba Tock: README: Initial commit
Signed-off-by: Alistair Francis <alistair@alistair23.me>
2023-07-13 22:43:22 +10:00
Alistair Francis 5750d88797 Tock: Use \r\n for all new lines
Signed-off-by: Alistair Francis <alistair@alistair23.me>
2023-07-11 13:27:04 +10:00
Alistair Francis 6a6bb8526b Tock: Update Radio config for SparkFun LoRa Thing Plus - expLoRaBLE
Signed-off-by: Alistair Francis <alistair@alistair23.me>
2023-07-11 13:24:19 +10:00
Alistair Francis a72b549450 Tock: Implement yield()
Signed-off-by: Alistair Francis <alistair@alistair23.me>
2023-07-11 13:23:48 +10:00
Alistair Francis ae05a4283e Tock: Use Tock's libgcc
The Tock specific version of libgcc is built to be position independent,
so use that instead of the one supplied by the compiler. This fixes a
few odd corner cases when using printf().

Signed-off-by: Alistair Francis <alistair@alistair23.me>
2023-07-11 13:23:34 +10:00
jgromes 0d2ef419bf [LoRaWAN] Added basic LoRaWAN support (#58) 2023-07-06 13:41:31 +02:00
Alistair Francis a8172308fe examples: NonArduino: Tock: Initial commit
Add support for running RadioLib on Tock.

Tock is an embedded operating system designed for running multiple
concurrent, mutually distrustful applications on Cortex-M and RISC-V
based embedded platforms (https://github.com/tock/tock).

This PR uses libtock-c (https://github.com/tock/libtock-c) to add
support to running RadioLib as a Tock userspace application.

This has been tested on the SparkFun LoRa Thing Plus - expLoRaBLE board
(https://github.com/tock/tock/tree/master/boards/apollo3/lora_things_plus)
but will work on any LoRa compatible Tock board (currently only the
expLoRaBLE board).

Signed-off-by: Alistair Francis <alistair@alistair23.me>
2023-06-29 09:54:30 +10:00
jgromes 58c9e9fe03 Fixed String counters in examples (CI_BUILD_ALL) 2023-06-26 20:39:33 +02:00
jgromes a4dbae03a3 [MOD] Fixed missing cast (#776) 2023-06-26 19:41:12 +02:00
jgromes f4f11a35d3 [Mod] Updated examples to use buffered SPI (#776) 2023-06-26 19:39:10 +02:00
jgromes 43ff5906c2 [SX127x] Added missing counter 2023-06-24 22:24:49 +02:00
jgromes 2dafa83058 [SX1231] Renamed basic examples to _Blocking 2023-06-24 22:18:59 +02:00
jgromes 3a07f0aa02 [SX128x] Renamed basic examples to _Blocking 2023-06-24 22:17:13 +02:00
jgromes c919185849 [SX127x] Renamed basic examples to _Blocking 2023-06-24 22:12:53 +02:00
jgromes 24be1747d0 [SX126x] Renamed basic examples to _Blocking 2023-06-24 22:12:11 +02:00
jgromes 9bad00ed39 [STM32WL] Renamed basic examples to _Blocking 2023-06-24 22:03:28 +02:00
jgromes 06529844c3 [Si443x] Renamed basic examples to _Blocking 2023-06-24 21:59:18 +02:00
jgromes 18307f478d [RF69] Renamed basic examples to _Blocking 2023-06-24 21:55:20 +02:00
jgromes be97ba8543 [nRF24] Added packet counter 2023-06-24 21:51:20 +02:00
jgromes 4981ce9934 [CC1101] Added packet counter 2023-06-24 21:50:30 +02:00