Commit graph

264 commits

Author SHA1 Message Date
Alex Hirzel
f30f57059d add a helper library, uart_repl, which handles basic ANSI over UART 2018-04-01 20:00:51 -04:00
tkremeyer
5c18d42c8d UART: Add ability to configure stopbits and parity bit (#590) 2018-03-13 18:31:19 +05:00
Andrea Greco
b77380bad1 Http client OTA (#553) 2018-03-01 05:03:44 +05:00
Sashka
8d4b4aa7a3 Multi-Channel Soft PWM library (#579) 2018-02-23 22:29:42 +05:00
Ruslan V. Uss
42e342e3dd
Merge pull request #544 from gschorcht/sht3x
Minor changes in SHT3x driver
2018-01-20 17:03:09 +05:00
Gunar Schorcht
13db675ac6 Minor changes in BME680 driver (#543) 2018-01-20 17:02:53 +05:00
Gunar Schorcht
8325bb87c5 Minor changes in CCS811 driver (#542) 2018-01-20 17:02:31 +05:00
Gunar Schorcht
37230b2de6 L3GD20H 3-axes gyroscope driver (#545) 2018-01-20 17:01:59 +05:00
Gunar Schorcht
a4de9dd4f1 LIS3DH 3-axes accelerometer driver added (#546) 2018-01-20 17:01:38 +05:00
Gunar Schorcht
812794f7d9 LIS3MDL 3-axes magnetometer driver added (#547) 2018-01-20 17:00:35 +05:00
Gunar Schorcht
f5bbff8b87 LSM303D e-Compass driver added (#548) 2018-01-20 16:59:54 +05:00
Gunar Schorcht
7fed013453 minor changes 2018-01-06 15:34:36 +01:00
Our Air Quality
3dd347ca55 sysparam editor: more stdout flushing. 2017-12-27 13:56:20 +11:00
Ruslan V. Uss
f671f31b96
Merge pull request #524 from gschorcht/bme680
BME680 driver updates
2017-12-24 04:57:37 +05:00
Ruslan V. Uss
ff18dead52
Merge pull request #525 from gschorcht/sht3x
SHT3x driver updates
2017-12-24 04:57:26 +05:00
Gunar Schorcht
ca0b5da905 - Delaying and repeating i2c operation automatically when i2c interface is busy removed. User has to deal with concurrency using semaphores.
- GPIO_ID_PIN macros removed
- Soft reset mechanism of SHT3x does not work when sensor is in any measurement mode. Therefore, it does not abort initialization procedure anymore
- typos
- changes to use the same source code with ESP8266 (esp-open-rtos) and ESP32 (ESP-IDF)
2017-12-21 19:02:02 +01:00
Gunar Schorcht
f0425e7abd - small corrections
- changes to use the same source code with ESP8266 (esp-open-rtos) and
  ESP32 (ESP-IDF)
2017-12-21 19:00:16 +01:00
Gunar Schorcht
07f3c08244 - minor changes
- changes to use the same source code with ESP8266 (esp-open-rtos) and
  ESP32 (ESP-IDF)
2017-12-21 18:58:52 +01:00
Gunar Schorcht
61f23d0cf4 CCS811 driver added (#479) 2017-12-11 08:00:53 +05:00
Our Air Quality
44d44a2cc5 wificfg: IPv6 and mDNS support
* When IPv6 is enabled the http server and the captive portal dns now also
  accept IPv6 connections. The interface and peer IPv6 address are now also
  reported.

* The http server no longer redirects <name>.local to an IP address for better
  integration with mDNS.

* Add mDNS support, for the extras/mdnsresponder or the LWIP mDNS responder,
  and enable the LWIP mDNS responder for examples/wificfg.
2017-12-10 10:32:21 +11:00
Our Air Quality
c2eed89318 esphttpd: increase stack size for task wsbcast
Seeing stack overflows on this one.
2017-12-09 23:43:03 +11:00
Zaltora
962196ef1d color and timing (ws2812_i2s) (#493) 2017-12-02 14:37:52 +05:00
Zaltora
a0f846013c pwm fix (#485)
* pwm fix special state + debug print + IRAM interupt
* Special state = don't set timer, safer
* fix timer crash, cant divide by 0
* pwm dont start when duty is set
* reverse option
* fix low duty crash + comments
2017-12-02 11:54:04 +05:00
lilian
8a9c3fd9e8 ina3221 ptr NULL security 2017-11-17 20:44:02 +01:00
Gunar Schorcht
691cf4ed62 Driver for Bosch Sensortec BME680 added (#469)
* Driver for Bosch Sensortec BME680 added
2017-11-07 12:47:58 +05:00
rus
1d3ca574f1 Fix #471 2017-10-28 22:57:22 +05:00
Ruslan V. Uss
7cd1afc52d Merge pull request #465 from UncleRus/pcf8591_update
PCF8591 driver update
2017-10-25 13:01:40 +05:00
Sashka
09b8b8087c Add libesphttpd to extras and supporting example (#458)
* libesphttpd: added extras and example

* Added "heatshrink" as a submodule

* Updated libesphttpd

* Updated libesphttpd

* Trying to fix the commit id

* Updated libesphttpd

* Added zlib1g-dev package

* Use native gcc to build mkespfsimage and mkupgimg

* Added NS and GW for DHCP server configuration
2017-10-23 23:59:13 +02:00
Gunar Schorcht
ac6797e916 Driver for Sensirion SHT3x temperature and humidity sensor readded (#453)
* Driver for Sensirion SHT3x sensor added

This is a driver for Sensirion SHT3x temperature and humidity sensors
connected via I2C.

This commit is a rebasing and contains some interface changes based on
the review from @ourairquality.

* SHT3x driver changes

Additional include to satisfy the Travis CI test build

* SHT3x driver - small changes

README.md has been shortened

* SHT3x driver - small changes

* SHT3x driver - small changes

- crc8 lookup table is now static to be held in flash memory
- special handling for the timer overflow in sht3x_is_measuring removed
- initialization reduced to availability check

* SHT3x driver - some small changes

- crc8 lookup table is now static to be held in flash memory
- special handling for the timer overflow in sht3x_is_measuring removed
- some whitespace removed
- initialization reduced to availability check

* SHT3x driver - some minor changes

- lookup tables made const to be held in flash
- crc8 computation changed to a non table lookup version
- measurement duration is now given in ticks and can be used directly
  for vTaskDelay (documentation and examples changed accordingly)

* SHT3x driver - documentation changed

* SHT3x driver - minor correction

- number of ticks for measurement duration takes now into account
  portTICK_PERIOD_MS

* SHT3x driver - minor correction

- number of ticks for measurement duration takes now into account
  portTICK_PERIOD_MS

* SHT3x driver - minor correction

- number of ticks for measurement duration takes now into account
  portTICK_PERIOD_MS

* SHT3x driver - minor correction

- number of ticks for measurement duration takes now into account
  portTICK_PERIOD_MS

* SHT3x driver - minor corrections

* SHT3x driver - minor corrections

* Driver for Sensirion SHT3x sensor added

This is a driver for Sensirion SHT3x temperature and humidity sensors
connected via I2C.

This commit is a rebasing and contains some interface changes based on
the review from @ourairquality.

SHT3x driver changes

- additional include to satisfy the Travis CI test build
- README.md has been shortened
- special handling for the timer overflow in sht3x_is_measuring removed
- some whitespaces removed
- crc8 computation changed to a non table lookup version
- measurement duration is now given in ticks and can be used directly
  for vTaskDelay (documentation and examples changed accordingly)
- number of ticks for measurement duration takes now into account
  portTICK_PERIOD_MS
- clock stretching disabled on sensor to avoid blocking when data are
  not ready to read
- calculation of maesurement duration adds now one and a half ticks to
  be sure that measurement duration is not too short
- function sht3x_is_measuring is now private and only for internal use,
  user task has always to use function vTaskDelay to wait for
  measurement results
- function sht3x_is_measuring was simplified and returns now just a
  boolean value
- private function sht3x_reset added which is used to reset the sensor
  during initialization
- active flag in sensor data structure not needed anymore
- function sht3_get_raw_data simplified
- function sht3x_start_measurement returns now only a boolean
- function sht3x_start_measurement does not check anymore whether there is
  already a measurment running
- new function sht3x_get_measurement_duration which returns the measurement
  duration in ticks for configured repeatability

* SHT3x driver minor changes

- type sht3x_values_t replaced by separate float values
- additional repeatability parameter defined for function sht3x_start_measurement
- parameter of function sht3x_get_measurement_duration changed from
  sht3x_sensort_t to sht3_repeat_t
- sensor modes and repeatability levels extended by prefix sht3x_

* SHT3x driver minor changes

- new high level function sht3x_measure added, it comprises all three
  steps to perform one measurement in only one function
- example with two sensors removed

* SHT3x driver small correction
2017-10-23 23:39:48 +02:00
Ruslan V. Uss
5fa48d0298 Code formatted, minor fixes (#466) 2017-10-18 21:25:48 +02:00
Our Air Quality
ebdd2f983b lwip: define LWIP_POSIX_SOCKETS_IO_NAMES as zero (#457)
This patch gets the newlib standard stream descriptors playing well with the
lwip socket descriptors and the spiffs file descriptors. The LWIP_SOCKET_OFFSET
is now defined to be 3, rather than zero, to avoid clashing with the standard
stream descriptors, and the SPIFFS_FILEHDL_OFFSET is bumped up to start after
the lwip descriptors.
2017-10-18 19:33:32 +02:00
UncleRus
60b671ea44 Added DAC support to PCF8591 driver 2017-10-13 00:54:08 +05:00
UncleRus
62d99e1554 Revert #426 2017-10-11 15:38:31 +05:00
Ruslan V. Uss
715bc8148c Fix example broken by DHCP update (#461) 2017-10-11 03:21:47 +05:00
Fernando
cb4ea206fa DHCP Allows selecting the DHCP server's network interface (#426) 2017-10-10 22:01:32 +05:00
Johan Kanflo
e3403eb5db Added fflush for terminal echo (#455) 2017-10-10 15:37:43 +02:00
Erwin Boskma
e24b6579ff Added support for RGBW NeoPixels (#449) 2017-10-08 23:02:39 +05:00
Zaltora
68cc1451b2 example and dhcp debug (#447) 2017-10-08 11:47:23 +05:00
Ruslan V. Uss
546cc47121 Merge pull request #437 from ourairquality/oaq-merge-1
* bmp180: comment typo
* ds3231: minor code style fixes. Comment, on the week day start.
* Reverse engineered ets_timers.o Switch from FreeRTOS queue to task notification. Removed unknown/unused code. Rename sdk_ets_handler_isr to process_pending_timers. Add function for microseconds Simplify time to ticks conversion
* ets_timer: code for using the FreeRTOS timers, and remove from libs.
* libc: update to a recent newlib version.
* LwIP v2 support
* spi_write: use uint32_t for the page iteration counter. The page counter was using an uint8_t which seems unnecessary and might wrap.
* sysparam_get_bool: memcpy the binary values out.
* FreeRTOS 9.0.1
* Add an argument to ISRs. Disable interrupts while masking them.
* sysparam: reserve one more flash sector before placing the sysparams. This is to help work with recent SDKs that add a RF cal sector by default in the fifth last sector - just so the sysparam sectors do not jump around when using different SDK versions.
* upnp example: strip down the lwipopts.h file
* sysparam editor: accept newline to end a line of input.
* Add Wificfg. Uses the sysparam store to save the wifi configuration. Adds a basic http server for configuration.
* lwip: disable the tcpip_core_locking_input option. With this option enabled some lwip input processing occurs in the pp task which works well for some uses but some code uses a lot of stack (e.g. mdns) and will overflow the pp task stask, or might unnecessarily slow the critical pp task,
so disable this by default and if not already defined.
* sdk_cnx_add_rc: fix overflow of the table, when no match is found. Also adds source code for sdk_cnx_rc_search, adding a null pointer dereference. Check (that is not expected to be seen), and source code for sdk_cnx_remove_rc.
* http_get example: fix compilation with ipv6 disabled.
* lwip: update to master branch.
* wificfg: allow the AP channel to be 1.
* lwip: rework the tcp ooseq handling. It now accounts for the number of rx pool buffers used and the
available memory when deciding the number of ooseq buffers to retain. Enable the TCP Selective ACK support which appears to help a lot on lossy wifi when using the OOSEQ option.
* Update lwip, fixes losses of pcbs and associated problems.
* lwip: revise the tcp ooseq limit calulations. Was making a mess of the calculation sign. Also added a COPY_PP_RX_PBUFS define to include appropriate limits for this option.
* lwip: ooseq_max_bytes() - set a practical target memory size.
* lwip: revise ooseq handling. Modified for lwip backwards compatibility based on upstream feedback.
* lwip: update to the 2.0.3 release
* lwip: merge upstream master.
* libc: update to upstream master.
* lwip: fix building without TCP_QUEUE_OOSEQ
2017-10-02 04:50:35 +05:00
Zaltora
b83c2629b9 I2C bus upgrade (#432) 2017-09-01 14:29:32 +05:00
Our Air Quality
87994d3bb4 http_get example: fix compilation with ipv6 disabled. 2017-08-30 13:51:32 +10:00
Our Air Quality
b79da1f1f1 sysparam editor: accept newline to end a line of input. 2017-08-30 13:51:32 +10:00
Our Air Quality
8b0a1ae362 Add Wificfg
Uses the sysparam store to save the wifi configuration.
Adds a basic http server for configuration.
2017-08-30 13:51:32 +10:00
Our Air Quality
cd23acaa4a LwIP v2 support 2017-08-30 13:51:32 +10:00
Our Air Quality
1cfded6389 upnp example: strip down the lwipopts.h file 2017-08-30 13:51:32 +10:00
Our Air Quality
5583543f14 Add an argument to ISRs. Disable interrupts while masking them. 2017-08-30 13:51:32 +10:00
Our Air Quality
ec5dabd237 sysparam: reserve one more flash sector before placing the sysparams
This is to help work with recent SDKs that add a RF cal sector by
default in the fifth last sector - just so the sysparam sectors do not
jump around when using different SDK versions.
2017-08-30 13:51:32 +10:00
alex
3c050bc4d1 Upnp example emulating a Wemo switch 2017-07-20 20:23:52 +02:00
Ruslan V. Uss
e17b1a5db6 Merge pull request #410 from UncleRus/extras/ad770x
Driver for AD7705/AD7706 SPI ADC
2017-07-10 03:42:42 +05:00
UncleRus
ee7bd87011 Driver for AD7705/AD7706 SPI ADC 2017-07-07 03:50:50 +05:00