Bernd Gottschlag
59c6b14d5b
Add handling for different encryption keys for the stations
There are eight key files in the common folder. The files are converted
to header files on compile time and the array of the keys is filled with
them. After determining the device id via the pin programming the
corresponding key is chosen.
Each of the keys is
mapped to one station id.
il y a 5 ans
Mathias Gottschlag
815f41c7d9
First part of UI refactoring (with proper quick refresh).
il y a 5 ans
Bernd Gottschlag
ddb99093ec
Move the nrf24l01 to improve reception
il y a 5 ans
Mathias Gottschlag
5fdb6c2b02
display: First part of fetching values from the base station.
il y a 5 ans
Mathias Gottschlag
b82214e974
display: Implement fast refresh (WIP, requires better UI code).
il y a 5 ans
Bernd Gottschlag
9cc2488996
Put send functions into a separate file
il y a 5 ans
Bernd Gottschlag
4f83ec8bef
Add handling of the salt
On start-up the sensor sends a Get_Salt-message to the base station. The
base station responds and sends the salt, which the sensor uses from
there on.
il y a 5 ans
Bernd Gottschlag
b31efd8359
Fix decryption function
il y a 5 ans
Bernd Gottschlag
08546c2e36
Re-enable dynamic packet length
The nrf24l01 used on the boards is probably a counterfeit chip. It
cannot acknowledge received packets (probably a bit flip of the NO_ACK
bit described here:
https://ncrmnt.org/2015/03/13/how-do-i-cost-optimize-nrf24l01/ ) if the
dynamic packet length is disabled.
il y a 5 ans
Bernd Gottschlag
fe5cd5fc86
Add delay after setting the pull ups for pin programming
Without it the bits are sometimes read incorrectly.
il y a 5 ans
Bernd Gottschlag
9694fa3913
Fix the rx0 address
The address was set for the wrong address and thus the module could not
receive acks from the base station
il y a 5 ans
Bernd Gottschlag
f78e2f65c6
Disable the dynamic packet length
The packet length is now fixed to 32 bytes.
il y a 5 ans
Bernd Gottschlag
608a6ee253
Fix generation of the salt
il y a 5 ans
Mathias Gottschlag
5a5f722287
display: Add update timer.
il y a 5 ans
Mathias Gottschlag
d0b4b5b256
base-station: Fix NRF24L01 initialization errors.
The power cycling needs to be performed with CS high.
il y a 5 ans
Mathias Gottschlag
71e2b5083d
display: Disable dynamic packet lengths.
Improves compatibility with counterfeit "NRF24L01" chips.
il y a 5 ans
Mathias Gottschlag
223442b0a6
Implement RX interrupt handling using gpio-cdev.
Sending still uses busy waiting, using interrupts there requires some
additional restructuring.
il y a 5 ans
Mathias Gottschlag
50f4c6efb6
base-station: Enable dynamic packet length.
Improves compatibility with counterfeit "NRF24L01" chips.
il y a 5 ans
Bernd Gottschlag
ab498f16eb
WIP: rebuild assembly
il y a 5 ans
Bernd Gottschlag
9070abc2b0
Increase the thickness of the acryl glass pane
il y a 5 ans
Bernd Gottschlag
35242eeffd
Redesign the enclosure based on the finished pcb design
il y a 5 ans
Bernd Gottschlag
e0f89a4867
Add first version of the enclosure
il y a 5 ans
Mathias Gottschlag
42de2d686c
display: Fix reported humidity.
il y a 5 ans
Mathias Gottschlag
1344ba308b
base-station: Reimplement radio code.
il y a 5 ans
Mathias Gottschlag
c4e88e5549
base-station: Add documentation comments.
il y a 5 ans
Mathias Gottschlag
2325b6e49c
base-station: Implement storing/retrieving the most recent set of values.
il y a 5 ans
Mathias Gottschlag
20571080a3
rust-protocol: More #[derive]s (for hashing/comparison).
il y a 5 ans
Mathias Gottschlag
ea8a5e0b04
rust-protocol: Add functions to convert between Value and (ValueType, i64).
il y a 5 ans
Mathias Gottschlag
6491884eba
display: Cargo.lock
il y a 5 ans
Mathias Gottschlag
b098fa1ee4
Place keys in .gitignore.
il y a 5 ans
Mathias Gottschlag
4afb52c5be
base-station: First part of refactoring to use tokio and InfluxDB.
il y a 5 ans
Mathias Gottschlag
f5e23486a9
base-station: Power-cycle module until it responds.
il y a 5 ans
Mathias Gottschlag
5a62bd1299
display: Add some radio code to fetch a salt and send the first report.
il y a 5 ans
Mathias Gottschlag
65664d2b93
rust-protocol: Fix return value.
il y a 5 ans
Mathias Gottschlag
e36c766458
rust-protocol: Fix value in Salt packets.
il y a 5 ans
Mathias Gottschlag
9aefb20f2c
rust-protocol: Fix checksum.
il y a 5 ans
Mathias Gottschlag
b2dfe684f6
rust-protocol: Implement a simple unit test.
il y a 5 ans
Mathias Gottschlag
ce0896f5c0
rust-protocol: Let decode functions return errors for easier debugging.
il y a 5 ans
Mathias Gottschlag
c9795dd80a
base-station: Fix NRF24 driver version.
il y a 5 ans
Mathias Gottschlag
4a0d41a764
base-station: Fix RX address.
il y a 5 ans
Mathias Gottschlag
c1ffd88f6b
rust-protocol: Implement encoding report packets.
il y a 5 ans
Mathias Gottschlag
367cbe1267
base-station: Reply to GetSalt requests.
il y a 5 ans
Mathias Gottschlag
44ef7e57c5
rust-protocol: Add first part of packet encoding.
il y a 5 ans
Mathias Gottschlag
a93ab30bb9
base-station: Restructure radio code.
il y a 5 ans
Mathias Gottschlag
42981822eb
.gitignore: Ignore rust-protocol library compiler output.
il y a 5 ans
Mathias Gottschlag
eccba895bf
base-station: Use rust-protocol library for packet handling.
il y a 5 ans
Mathias Gottschlag
255cb55f3c
README: Document GetSalt packet.
il y a 5 ans
Mathias Gottschlag
0ef7cc7216
rust-protocol: Add GetSalt, fix decoding, derive Debug.
il y a 5 ans
Mathias Gottschlag
50c643ebfa
Add a library for packet encoding/decoding in Rust.
il y a 5 ans
Mathias Gottschlag
f3e2e2ccb6
display: Use write!() in display code.
Only 100-200 bytes more flash usage.
il y a 5 ans