87 Commits

Author SHA1 Message Date
Pim van Pelt
b9dd5fd2ce Small changes 2018-04-22 09:47:58 +02:00
Pim van Pelt
1b3d8ac7ca Move from has_* to capabilities bits 2018-04-22 09:42:47 +02:00
Pim van Pelt
0f933dda31 Add partial BMP280/BME280 driver 2018-04-22 09:37:45 +02:00
Pim van Pelt
b9bb70d4cf Remove DEBUG logging 2018-04-22 09:37:17 +02:00
Pim van Pelt
e4d908ebf3 Create empty BME280 driver 2018-04-22 08:11:52 +02:00
Pim van Pelt
b2f71583a1 Set timeout of 1s on reads 2018-04-21 23:33:58 +02:00
Pim van Pelt
38fca7c650 Add MPL3115 driver; It's a bit slow (takes ~1s for DataReady to be set), should take a look 2018-04-21 23:18:43 +02:00
Pim van Pelt
f4aa4f7844 Add empty MPL3115 driver 2018-04-21 17:55:37 +02:00
Pim van Pelt
d142cb37d3 Add finished MPL115 barometer 2018-04-21 17:47:56 +02:00
Pim van Pelt
9d9cd1d00a Add Read Cache and Stats
- baro.cache_ttl_ms avoids multiple reads
- by default, cache is off (cache_ttl_ms=0)
- stats are updated (similar to how prometheus-sensors does this)
2018-04-21 15:39:57 +02:00
Pim van Pelt
89ec34dc1d Add mgos_barometer API 2018-04-21 15:17:24 +02:00
Pim van Pelt
acec109ae8 Rename 'sensor' to 'imu' consistently 2018-04-19 17:52:06 +02:00
Pim van Pelt
88e287770c Skeleton of mgos_imu_{mag,acc,gyro}.c; restructure header files 2018-04-19 16:01:12 +02:00
Pim van Pelt
37d26eb65f Move private IMU data into its mgos_imu_internal.h 2018-04-19 15:32:00 +02:00
Pim van Pelt
d693631b70 First stab at generic gyro/mag/accel -- mgos_imu.h 2018-04-18 23:50:23 +02:00
Pim van Pelt
1e1c3087cd Add MPU9250 2018-04-18 22:54:06 +02:00
Pim van Pelt
e4bb9e39cc Add CCS811 driver 2018-04-10 21:36:10 +02:00
Pim van Pelt
d2e64c0f45 Reformat with bcpp
Used commandline: bcpp -i 2 -yq -ya -s -bcl -tbcl $i
2018-04-09 18:30:46 +02:00
Pim van Pelt
0337487a0c Add Copyright headers (AP2.0) 2018-04-03 14:15:56 +02:00
Pim van Pelt
50d59ae313 Finished MCP9808 driver. 2018-04-03 14:09:40 +02:00
Pim van Pelt
90003f705c Reverse byte-order of 16 bit register read 2018-04-03 13:54:48 +02:00
Pim van Pelt
62da8aa283 Initial checkin of empty MCP9808 driver 2018-04-03 13:46:08 +02:00
Pim van Pelt
9f0cdbb821 Initial driver for HTU21DF 2018-04-02 22:36:46 +02:00
Pim van Pelt
aa73394f0d Add skeleton for HTU21DF driver 2018-04-02 22:18:20 +02:00
Pim van Pelt
38500aa8d4 Add public header documentation. 2018-04-02 22:05:53 +02:00
Pim van Pelt
7263edee15 Add Adafruit datasheets 2018-04-02 21:58:01 +02:00
Pim van Pelt
e4ed4d005d Loop once per 5 seconds.
Clean up CRC8 functions (style, no caps).
2018-04-02 21:50:30 +02:00
Pim van Pelt
97310e3e03 Refactor main.
Only create sensors once, then loop over them with do_si7021() and
do_sht31().
2018-04-02 21:46:54 +02:00
Pim van Pelt
37838f0062 SI7021: Implement Status
This allows us to detect if the I2C device is indeed an Si7021.
By reading status, turning the heater on, reading status, and turning
the heater off, reading status, we will see three different states:
status bit13 is 'heater on' (0=off, 1=on).
In status0, bit13 will be 0,
In status1, bit13 will be 1, (the heater is now on)
In status2, bit13 will be 0.
2018-04-02 21:40:42 +02:00
Pim van Pelt
6b0774033e SI7021
Add mgos_si7021_cmd() mimicking the SHT31 driver.
2018-04-02 21:16:32 +02:00
Pim van Pelt
ff891426ab Finish Si7021
Based on datasheet:
  https://cdn.instructables.com/ORIG/FOR/G7DY/IHXRC1XG/FORG7DYIHXRC1XG.pdf

- Add CRC8 (poly 0x31, init 0x00)
- Add Temperature and Humidity data polling.
2018-04-02 21:11:18 +02:00
Pim van Pelt
5b0fcadd9f Refactor I2C SMBUS
Add SI7021 chipset, partially done.
2018-04-02 20:38:26 +02:00
Pim van Pelt
5d92a45b58 Remove dangling file. 2018-04-02 17:59:59 +02:00
Pim van Pelt
2899ee59de Initial (empty) Si7021 driver 2018-04-02 17:59:41 +02:00
Pim van Pelt
27bba32bd9 Remove unimplemented calls 2018-04-02 17:54:39 +02:00
Pim van Pelt
b1d92a32a8 Include first driver: SHT31
Make I2C reads blocking w/ timeout
Add SHT31 driver, roughly :)
Fix mg_time() to return a double.
2018-04-02 17:29:13 +02:00
Pim van Pelt
cef7c5107d Mock out mgos_i2c.h to work with Linux. 2018-04-02 13:30:45 +02:00