Commit graph

46 commits

Author SHA1 Message Date
rbaron
bebf8c0a13 Adds code for reading the phototransistor values 2021-10-09 09:33:23 +02:00
Jan-Henrik Bruhn
44adefedb3 Fix overflow in very dark or noisy situations 2021-09-30 10:24:51 +02:00
rbaron
9b90d5a112 Disabled debug and set deep sleep time to 5 minutes 2021-09-24 19:08:10 +02:00
rbaron
ef2bfcdadd Updates #ifdef's to #if in main.c 2021-09-22 22:43:49 +02:00
rbaron
e1f385adbd Fixes #if PRST_HAS_LDR check in ble.c 2021-09-22 22:39:19 +02:00
rbaron
d8aea1d4ef Introduces version-specific config & condition BLE lux encoding
In the BLE service data payload, one of the reserved bits is now used to
indicate whether or not the ambient lux value is encoded in the packet.
Bit 0 of the first byte is now the `has_lux` bit. If it is set, bytes
16-17 in the service data will contain the ambient lux. If `has_lux` is
not set, bytes 16-17 may not exist (for compatibility with older
firmwares) or may hold meaningless values.

This commit also introduces version-specific configuration in
prst_config.h. Photoresistor config, for example, is only meaninful for
version 1.1.x.
2021-09-22 22:39:11 +02:00
rbaron
a00559a98b Uses better LDR x lux model 2021-09-22 22:38:30 +02:00
rbaron
6f98aa34b1 Calls nrf_gpio_cfg_output(PRST_PHOTO_V) 2021-09-22 22:38:30 +02:00
rbaron
d2daefaf46 Updates ambient brightness estimation code
Also renames the `lux` field from `photo_read_t` to the more generic `brightness`.
2021-09-22 22:38:30 +02:00
rbaron
be366d5c3c Updates BLE packet payload documentation
Adds the new ambient light values.
2021-09-22 22:38:30 +02:00
rbaron
a3943bc298 Updates PHOTO_V pin to P0.29 in prst_config.h 2021-09-22 22:38:30 +02:00
rbaron
e32803d44d Improvements to photo resistor-based lux estimation
- Code now compiles
- Estimation of the photo resistor resistance works
- Lux estimation from the photo resistor resistance needs more work and calibration
- Lux is now encoded in the BLE advertisement payload
2021-09-22 22:38:30 +02:00
chentadot
dcd0fc4ae1 Calculate photoresistor and some other fixes (#3)
prst_adc_photo_read() now calculates the photo resistor and return it as the lux level.
Added debug logging and fixed some syntax errors.
2021-09-22 22:38:30 +02:00
chentadot
c9b05859e4 First draft for Photoresistor
the code now should setup and use the photoresistor and read it's value by the adc.
the returned value is 0 just as a place holder until the correct values are measured.
2021-09-22 22:38:30 +02:00
Jan-Henrik Bruhn
60071b5fde Fix pinout for fast discharge pin 2021-09-03 12:01:24 +02:00
Jan-Henrik Bruhn
05efd7474c Fix typo in code readme 2021-09-02 20:02:24 +02:00
Jan-Henrik Bruhn
683cd692ae Fix indentation and default value for PLATFORM 2021-09-02 19:46:10 +02:00
Jan-Henrik Bruhn
da049fd8ad Set optimization back to previous value 2021-09-02 15:48:46 +02:00
Jan-Henrik Bruhn
1aa07b4d74 Add platforms to readme 2021-09-02 15:45:33 +02:00
Jan-Henrik Bruhn
7c8394e709 Add support for nrf52833 based module 2021-09-02 15:40:19 +02:00
rbaron
795fc46849 Updates docs for data encoding in the BLE advertisement packet 2021-05-02 20:20:39 +02:00
rbaron
837a30ba03 Adds the whole MAC address in the advertisement packet 2021-05-02 12:14:52 +02:00
rbaron
19f9a68b3b Bump RTT logger buffer from 512 to 1024
It was swalloing some of the messages when debugging.
2021-05-02 11:32:45 +02:00
rbaron
c110810334 Attaches two least significant MAC address bytes to advertisement packet 2021-04-26 20:41:41 +02:00
rbaron
f0b3294f0f Fixes possible overflow in the soil moisture BLE encoding 2021-04-26 20:40:54 +02:00
rbaron
e54449bf84 Adds make lint and make lint-fix 2021-04-10 18:19:37 +02:00
rbaron
9057d67c0c Clean up unused code and done TODO 2021-04-10 18:05:44 +02:00
rbaron
3b0e2043f2 Mass cleanup 2021-04-01 14:45:35 +02:00
rbaron
463fdb5ef4 Corrects the raw ADC soil mesasure given the current input voltage 2021-03-31 20:12:47 +02:00
rbaron
d215d5f4a7 Sets transmitting power to +8dB 2021-03-31 18:37:50 +02:00
rbaron
3c7180fefa Adds run_counter to ble advertising packet 2021-03-28 10:44:33 +02:00
rbaron
37fd1173ec Sets MAC address to a random static value 2021-03-26 17:18:38 +01:00
rbaron
6ec48b7188 Puts soil moisture reading into the BLE advertisement packet 2021-03-26 16:30:09 +01:00
rbaron
30162f4628 Cleans up logging 2021-03-26 13:45:28 +01:00
rbaron
2aa0ffc27b Some debugging info 2021-03-26 11:43:55 +01:00
rbaron
c2e3723eb0 Adds temp and humidity values to the BLE advertisement packet 2021-03-26 10:49:28 +01:00
rbaron
81b33fbd8c Handles SHT3C sensor
...And this is the first time I'm flashing the firmware into a real
b-parasite board!
2021-03-26 10:29:54 +01:00
rbaron
25772def7e ADC works for measuring the battery voltage 2021-03-17 19:08:17 +01:00
rbaron
b521e3f0f6 A hacky fix for PWM + TWI 2021-03-15 22:40:09 +01:00
rbaron
02df5f4595 Initial shtc3 TWI/I2C implementation
Weirdly, it only works ~1/5 of the time.
2021-03-14 16:55:24 +01:00
rbaron
fb07a1244c PWM start/stop in RTC callback.
I initially tried calling prst_pwm_init() in main(), and just using start/stop in
the callback, but that led to a weird behavior in the PWM output. It was set to
high after the end of the callback.

Callnig uninit/re-calling init() inside the RTC callback fixed, but more investigation
is required.
2021-03-14 15:03:33 +01:00
rbaron
05dcb9de84 Hard coded PWM with 500kHz frequency works 2021-03-14 14:30:32 +01:00
rbaron
cf2725e028 Adds dynamic data to ble advertisement
I am very tempted to drop all the ble advertisement abstraction and deal directly with the
31-byte raw payload.
2021-03-14 11:50:26 +01:00
rbaron
20243a26a2 Extracted BLE to src/prst/ble.{c,h} 2021-03-14 11:06:45 +01:00
rbaron
a5c932def2 Extracts RTC stuff to src/rtc.{c,h} 2021-03-13 16:49:55 +01:00
rbaron
7ef278fe40 Initial b_parasite code - a fork from playground 2021-03-13 14:56:37 +01:00