Commit graph

1198 commits

Author SHA1 Message Date
jgromes
235fdb1637 [SX126x] Fixed implicit timeout workaround applied in explicit mode 2020-02-02 11:13:23 +01:00
Callan Bryant
c49323fa78
Prevent spurious resets on some boards
My receiver was failing to receive after a random amount of time (2 - 60
seconds). I discovered some power supply issues (DC-DC converter
related) that turned out to be another cause of the same problem but
only on some boards.

The reset procedure for most of the boards that RadioLib can drive
changes the pin mode of the reset line to an input after reset,
effectively tri-stating the output. I had seen this but dismissed it
after checking that the SX126x has a pullup on NRST meaning this was not
an issue.

The receiver I have produced uses a level converter to translate the 5v0
signals to 3v3. The level converters are not themselves pulled up or
down, which means when a pin is connected in a high-impedance input
state it will float around possibly randomly.

This can cause spurious resets on my board, and possibly others. I
remembered the reset procedure when I realised I could reproduce the
problem by rubbing the board on my shirt, probably causing some ESD to
trigger a change on the reset line.

This PR simply removes the lines that change the pinmode to input after
reset leaving it as an output which is hard-driven and the safest way. I
assume that the current behaviour was chosen to decrease the chance of a
conflict if used incorrectly.
2020-01-29 15:00:36 +00:00
jgromes
7b10bd4e0f Advanced version to 3.2.1 2020-01-28 17:18:02 +01:00
Callan Bryant
ea85a66314
[SX126x] Pass useRegulatorLDO to SX1262/SX1261/SX1268 2020-01-28 15:01:14 +00:00
Callan Bryant
81fe2d09f8
[SX126x] Parameter to use LDO in begin()
See 4231edee70
for context.
2020-01-28 14:13:20 +00:00
jgromes
030fa1001e Advanced version to 3.2.0 2020-01-28 12:11:19 +01:00
jgromes
ff97f3957b [SX126x] Added method to get currently configured OCP 2020-01-27 09:30:44 +01:00
jgromes
f336922013 [SX126x] Added missing OCP range check 2020-01-27 09:13:39 +01:00
jgromes
362dde44b0 [SX126x] Added SPI transaction delay for fast platforms 2020-01-26 18:55:04 +01:00
jgromes
4231edee70 [SX126x] Added missing call to setRegulator 2020-01-26 18:54:38 +01:00
jgromes
b93aa3f38e [SX126x] Added missing calls to setPaConfig 2020-01-26 18:53:46 +01:00
jgromes
f316920bab [SX126x] Removed setOptimalHiPowerPaConfig 2020-01-26 15:19:08 +01:00
jgromes
2ef331ed9c [SX126x] Added public methods to set regulator mode 2020-01-26 15:11:41 +01:00
jgromes
e800a0584c [SX126x] Added missing assertion 2020-01-26 09:06:09 +01:00
jgromes
15532bada1 Advanced version to 3.1.2 2020-01-21 17:48:18 +01:00
jgromes
58640e2801 [SX126x] Added option to read data even after CRC error 2020-01-21 15:29:05 +01:00
jgromes
75335bdff3 [SX126x] Added missing default packet mode in FSK 2020-01-21 14:48:52 +01:00
jgromes
1e2c5c10e1 Advanced version to 3.1.1 2020-01-19 14:11:34 +01:00
jgromes
e890e4f474 [SX126x] Added missing calls to yield 2020-01-19 13:25:25 +01:00
jgromes
b2b0511da3 [CC1101] Added missing calls to yield 2020-01-19 13:25:16 +01:00
jgromes
d892320637 [SX126x] Added option to set LoRa sync word control bits 2020-01-14 18:08:45 +01:00
jgromes
c40f382ed6 Advanced version to 3.1.0 2020-01-13 17:06:00 +01:00
jgromes
204e1c7a0c [nRF24] Added assert macro 2020-01-13 16:37:44 +01:00
jgromes
016fb0d462 [XBee] Added assert macro 2020-01-13 16:37:37 +01:00
jgromes
acd78cb6bb [SX127x] Added assert macro 2020-01-13 16:37:31 +01:00
jgromes
5728bf4124 [SX126x] Added assert macro 2020-01-13 16:37:21 +01:00
jgromes
65e1369697 [SX1231] Added assert macro 2020-01-13 16:37:08 +01:00
jgromes
be701ed120 [RFM9x] Added assert macro 2020-01-13 16:37:01 +01:00
jgromes
751fb6431c [RF69] Added assert macro 2020-01-13 16:36:53 +01:00
jgromes
ba1c483121 [CC1101] Added assert macro 2020-01-13 16:36:44 +01:00
jgromes
2332f2e327 Added assert macro 2020-01-13 16:36:21 +01:00
jgromes
bc31827505 Minor formatting fixes 2020-01-13 15:22:57 +01:00
Callan Bryant
17e3f47c2f
correct return types 2020-01-13 12:15:58 +00:00
Callan Bryant
e441e101ff
check modem type when header type set 2020-01-13 12:10:04 +00:00
Callan Bryant
3ac63e8c95
remove redundant call to setPacketParams 2020-01-13 09:55:35 +00:00
Callan Bryant
c331abb7a9
remove outdated comment 2020-01-10 15:34:33 +00:00
Callan Bryant
a4e087daf5
edit getTimeOnAir to support implicit mode 2020-01-10 14:31:21 +00:00
Callan Bryant
8d2c98339f
fix default args, scoping 2020-01-10 14:20:42 +00:00
Callan Bryant
07429986c2
set implicit params with extra SPI call where required 2020-01-10 14:11:28 +00:00
Callan Bryant
870a135b15
make sure _implicitLen is passed where appropriate 2020-01-10 11:54:28 +00:00
Callan Bryant
3bea627df4
switch to recoding implicit length for use JIT 2020-01-10 09:38:49 +00:00
Callan Bryant
b7d97341b4
make header type a required param to setPacketParams 2020-01-09 16:10:43 +00:00
Callan Bryant
51ce45220b
pass len as param to implicitHeader 2020-01-09 16:08:00 +00:00
Callan Bryant
54f058de02
Revert "breaking change to interrupt RX method declaration : len required"
This reverts commit aee59b5bdd.
2020-01-09 16:04:46 +00:00
Callan Bryant
aee59b5bdd
breaking change to interrupt RX method declaration : len required 2020-01-09 15:40:59 +00:00
Callan Bryant
b85e7474b3
specify _headerType with every call to setPacketParams 2020-01-09 15:16:52 +00:00
Callan Bryant
562ed02eab
add missing parameter to setHeaderType 2020-01-09 14:54:15 +00:00
Callan Bryant
28671fb01a
implement explicitHeader/implicitHeader 2020-01-09 14:53:18 +00:00
Callan Bryant
7ab5bf7328
setHeaderType 2020-01-09 14:45:40 +00:00
Callan Bryant
1cce443ef1
define interface for implicit/explicit mode support 2020-01-09 14:37:58 +00:00