8b224ecb15
* Separate ibutton to its own module, add one_wire to f18 * Move onewire cli to a separate app * Add definitions for normal and overdrive timings * Update api definitions * Add rough overdrive timings definition for onewire emulation * Remove one_wire_host_timing.h * Add rough overdrive timings for onewire host * Improve overdrive mode * Working overdrive mode from flipper to flipper * Update thermometer example app * Turn on otg power when running thermometer example app * Implement reset overdrive switching * Always exit out of overdrive mode * Improve overdrive timings * Fix typos * Fix reset behaviour * Use overdrive mode everywhere in DS1996 * Improve comments * Bump API version Co-authored-by: あく <alleteam@gmail.com> |
||
---|---|---|
.. | ||
application.fam | ||
example_thermo_10px.png | ||
example_thermo.c | ||
README.md |
1-Wire Thermometer
This example application demonstrates the use of the 1-Wire library with a DS18B20 thermometer. It also covers basic GUI, input handling, threads and localisation.
Electrical connections
Before launching the application, connect the sensor to Flipper's external GPIO according to the table below:
DS18B20 | Flipper |
---|---|
VDD | 9 |
GND | 18 |
DQ | 17 |
NOTE 1: GND is also available on pins 8 and 11.
NOTE 2: For any other pin than 17, connect an external 4.7k pull-up resistor to pin 9.
Launching the application
In order to launch this demo, follow the steps below:
- Make sure your Flipper has an SD card installed.
- Connect your Flipper to the computer via a USB cable.
- Run
./fbt launch_app APPSRC=example_thermo
in your terminal emulator of choice.
Changing the data pin
It is possible to use other GPIO pin as a 1-Wire data pin. In order to change it, set the THERMO_GPIO_PIN
macro to any of the options listed below:
/* Possible GPIO pin choices:
- gpio_ext_pc0
- gpio_ext_pc1
- gpio_ext_pc3
- gpio_ext_pb2
- gpio_ext_pb3
- gpio_ext_pa4
- gpio_ext_pa6
- gpio_ext_pa7
- ibutton_gpio
*/
#define THERMO_GPIO_PIN (ibutton_gpio)
Do not forget about the external pull-up resistor as these pins do not have one built-in.
With the changes been made, recompile and launch the application again. The on-screen text should reflect it by asking to connect the thermometer to another pin.