Bernd Gottschlag
b31efd8359
Fix decryption function
5 anni fa
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 anni fa
Bernd Gottschlag
fe5cd5fc86
Add delay after setting the pull ups for pin programming
Without it the bits are sometimes read incorrectly.
5 anni fa
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 anni fa
Bernd Gottschlag
f78e2f65c6
Disable the dynamic packet length
The packet length is now fixed to 32 bytes.
5 anni fa
Bernd Gottschlag
608a6ee253
Fix generation of the salt
5 anni fa
Bernd Gottschlag
05696f7e74
Fix decryption bug
5 anni fa
Bernd Gottschlag
1381cb6634
Add encryption for the sent packet
5 anni fa
Bernd Gottschlag
3a21aef881
Rework the makefile and optimize the code for flash space
5 anni fa
Bernd Gottschlag
8a49c011c9
Update packet protocoll
5 anni fa
Bernd Gottschlag
58a48e5230
Fix order of the element count and packet type bit field
5 anni fa
Bernd Gottschlag
e435620c91
Add a new packet format with the calculation of the CRC
5 anni fa
Bernd Gottschlag
c86399b66e
Add the calculation of a crc
The algorith used is for the CRC-16-CCITT, also known as CRC-KERMIT.
5 anni fa
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 anni fa
Bernd Gottschlag
3dcfae6196
Change the way the TX and RX addresses are written to the nrf24l01
5 anni fa
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 anni fa
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 anni fa
Bernd Gottschlag
f7bfdf101c
Add definitions of the IRQ pin to the nrf24l01
5 anni fa
Bernd Gottschlag
1dd0f89149
Fix pin definitions of the interface to the nrf24l01
5 anni fa
Bernd Gottschlag
011303042b
Remove a variable that caused a compiler warning
5 anni fa
Bernd Gottschlag
f1b0ebf618
Move SPI initialization and pin definitions to spi.c
5 anni fa
Bernd Gottschlag
204ff8d220
Add power save mode and send messages every 7.5s
5 anni fa
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 anni fa
Bernd Gottschlag
ddb5b0426e
Send the data from the BME280 with the NRF24L01
5 anni fa
Bernd Gottschlag
01dff7cfd3
Use spi functions
5 anni fa
Bernd Gottschlag
93fd7841a9
Use spi functions
5 anni fa
Bernd Gottschlag
9d1b611356
Use dedicated function to read the status register when transmitting
5 anni fa
Bernd Gottschlag
fc26a37348
Set the transmission retries and time-out duration to each maximum
5 anni fa
Bernd Gottschlag
b9cfc34e94
Flush TX FIFO after an unsuccessful transmission
5 anni fa
Bernd Gottschlag
45f19e8c43
Fix register struct definitions
5 anni fa
Bernd Gottschlag
5ee6bbbf1a
Add SPI interface functions
5 anni fa
Bernd Gottschlag
7f1da0221c
Update .gitignore
5 anni fa
Bernd Gottschlag
e5ad15dbfa
Add reading from the BME280 using the official API
Currently the data values are written to the debug output.
5 anni fa
Bernd Gottschlag
780cedcbc4
Fix order of the bit fields of the register definitions
5 anni fa
Bernd Gottschlag
278f7f23fe
WIP: use register definitions to access them
5 anni fa
Bernd Gottschlag
b487ab67f6
Add nRF24L01 register definitions
5 anni fa
Bernd Gottschlag
33e1d5e700
WIP tidy up the NRF24L01 code
5 anni fa
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 anni fa
Bernd Gottschlag
daf929f3d2
Add digikey link for a part
5 anni fa
Bernd Gottschlag
cab19c7994
Fix kicad library paths
5 anni fa
Bernd Gottschlag
086986e6b5
Rename schematics folder to match the structure of the base station
5 anni fa
Bernd Gottschlag
80e31fe6bc
Move the schematics to seperate folder
5 anni fa
Bernd Gottschlag
443b4a39dd
Fix spelling of a symbol field
5 anni fa
Bernd Gottschlag
bd4eb8047e
Add correct ESD diode
5 anni fa
Bernd Gottschlag
b0ca0c2284
Exchange the ESD diode for one with the correct package
5 anni fa
Bernd Gottschlag
222278a85e
Fix location of markings
5 anni fa
Bernd Gottschlag
efbb38a9b4
Add a LED for debugging and fix some errors
5 anni fa
Bernd Gottschlag
81f222b526
Add the dip switch to the PCB
5 anni fa
Bernd Gottschlag
648257be03
Add a dip switch and the associated footprint
5 anni fa
Bernd Gottschlag
90a300850b
Fix library paths
5 anni fa