Bernd Gottschlag
b0cfbc928f
Remove unneeded TODOs
5 anos atrás
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.
5 anos atrás
Bernd Gottschlag
ddb99093ec
Move the nrf24l01 to improve reception
5 anos atrás
Bernd Gottschlag
9cc2488996
Put send functions into a separate file
5 anos atrás
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.
5 anos atrás
Bernd Gottschlag
b31efd8359
Fix decryption function
5 anos atrás
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.
5 anos atrás
Bernd Gottschlag
fe5cd5fc86
Add delay after setting the pull ups for pin programming
Without it the bits are sometimes read incorrectly.
5 anos atrás
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
5 anos atrás
Bernd Gottschlag
f78e2f65c6
Disable the dynamic packet length
The packet length is now fixed to 32 bytes.
5 anos atrás
Bernd Gottschlag
608a6ee253
Fix generation of the salt
5 anos atrás
Bernd Gottschlag
05696f7e74
Fix decryption bug
5 anos atrás
Bernd Gottschlag
1381cb6634
Add encryption for the sent packet
5 anos atrás
Bernd Gottschlag
3a21aef881
Rework the makefile and optimize the code for flash space
5 anos atrás
Bernd Gottschlag
8a49c011c9
Update packet protocoll
5 anos atrás
Bernd Gottschlag
58a48e5230
Fix order of the element count and packet type bit field
5 anos atrás
Bernd Gottschlag
e435620c91
Add a new packet format with the calculation of the CRC
5 anos atrás
Bernd Gottschlag
c86399b66e
Add the calculation of a crc
The algorith used is for the CRC-16-CCITT, also known as CRC-KERMIT.
5 anos atrás
Bernd Gottschlag
30fe01bb9e
Generate an ID according to the dip switches
The ID is used as the last byte of the RX address. It is also sent as a
part of the data packet to allow assigning the sending station to a
packet.
5 anos atrás
Bernd Gottschlag
3dcfae6196
Change the way the TX and RX addresses are written to the nrf24l01
5 anos atrás
Bernd Gottschlag
fa580c8af7
Add ToDos to the schematic
Several issues were found after receiving the PCBs that should be
rectified for the next version.
5 anos atrás
Bernd Gottschlag
e7bfca4363
Use the IRQ signal from the nrf24l01 instead of polling the status
This is done to avoid transmission erros as described in
https://forum.mysensors.org/topic/10452/nrf24l01-communication-failure-root-cause-and-solution
5 anos atrás
Bernd Gottschlag
f7bfdf101c
Add definitions of the IRQ pin to the nrf24l01
5 anos atrás
Bernd Gottschlag
1dd0f89149
Fix pin definitions of the interface to the nrf24l01
5 anos atrás
Bernd Gottschlag
011303042b
Remove a variable that caused a compiler warning
5 anos atrás
Bernd Gottschlag
f1b0ebf618
Move SPI initialization and pin definitions to spi.c
5 anos atrás
Bernd Gottschlag
204ff8d220
Add power save mode and send messages every 7.5s
5 anos atrás
Bernd Gottschlag
0c03c24fcd
Change the MCU to the Atmega88
The pin definitions are updated and the uart debug interface is removed
as it is not present on the actual board.
5 anos atrás
Bernd Gottschlag
ddb5b0426e
Send the data from the BME280 with the NRF24L01
5 anos atrás
Bernd Gottschlag
01dff7cfd3
Use spi functions
5 anos atrás
Bernd Gottschlag
93fd7841a9
Use spi functions
5 anos atrás
Bernd Gottschlag
9d1b611356
Use dedicated function to read the status register when transmitting
5 anos atrás
Bernd Gottschlag
fc26a37348
Set the transmission retries and time-out duration to each maximum
5 anos atrás
Bernd Gottschlag
b9cfc34e94
Flush TX FIFO after an unsuccessful transmission
5 anos atrás
Bernd Gottschlag
45f19e8c43
Fix register struct definitions
5 anos atrás
Bernd Gottschlag
5ee6bbbf1a
Add SPI interface functions
5 anos atrás
Bernd Gottschlag
7f1da0221c
Update .gitignore
5 anos atrás
Bernd Gottschlag
e5ad15dbfa
Add reading from the BME280 using the official API
Currently the data values are written to the debug output.
5 anos atrás
Bernd Gottschlag
780cedcbc4
Fix order of the bit fields of the register definitions
5 anos atrás
Bernd Gottschlag
278f7f23fe
WIP: use register definitions to access them
5 anos atrás
Bernd Gottschlag
b487ab67f6
Add nRF24L01 register definitions
5 anos atrás
Bernd Gottschlag
33e1d5e700
WIP tidy up the NRF24L01 code
5 anos atrás
Bernd Gottschlag
347211065c
Add prototyping code for sending a dummy message with the nrf24l01
The firmware is developed using an aduino micro pro with an atmega32u4
as the hardware for the weather station is not ready yet.
5 anos atrás
Bernd Gottschlag
daf929f3d2
Add digikey link for a part
5 anos atrás
Bernd Gottschlag
cab19c7994
Fix kicad library paths
5 anos atrás
Bernd Gottschlag
086986e6b5
Rename schematics folder to match the structure of the base station
5 anos atrás
Bernd Gottschlag
80e31fe6bc
Move the schematics to seperate folder
5 anos atrás
Bernd Gottschlag
443b4a39dd
Fix spelling of a symbol field
5 anos atrás
Bernd Gottschlag
bd4eb8047e
Add correct ESD diode
5 anos atrás
Bernd Gottschlag
b0ca0c2284
Exchange the ESD diode for one with the correct package
5 anos atrás