[FL-3057] Allow use of any suitable pin for 1-Wire devices (#2350)

* Add 1-wire thermometer example app stub
* Working 1-wire thermometer app
* Refactor app to use threads
* Clean up code, add comments
* Add CRC checking
* Increase update period
* Fix error in fbt
* Revert the old update period
* Use settable pin in onewire_host
* Use settable pin for onewire_slave
* Clear EXTI flag after callback, make private methods static in onewire_slave
* Do not hardcode GPIO pin number
* Remove iButton hal from furi_hal_rfid
* Remove most of furi_hal_ibutton
* Add some of furi_hal_ibutton back
* Slightly neater code
* Fix formatting
* Fix PVS-studio warnings
* Update CODEOWNERS
* Add furi_hal_gpio_get_ext_pin_number
* Create README.md
* FuriHal: move furi_hal_gpio_get_ext_pin_number to resources

---------

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
This commit is contained in:
Georgii Surkov
2023-02-08 08:40:44 +03:00
committed by GitHub
parent e3d473bf42
commit 7a3a1aaf0d
22 changed files with 592 additions and 184 deletions

View File

@@ -1,5 +1,5 @@
entry,status,name,type,params
Version,+,12.2,,
Version,+,13.0,,
Header,+,applications/services/bt/bt_service/bt.h,,
Header,+,applications/services/cli/cli.h,,
Header,+,applications/services/cli/cli_vcp.h,,
@@ -1094,6 +1094,7 @@ Function,-,furi_hal_flash_write_dword,void,"size_t, uint64_t"
Function,+,furi_hal_gpio_add_int_callback,void,"const GpioPin*, GpioExtiCallback, void*"
Function,+,furi_hal_gpio_disable_int_callback,void,const GpioPin*
Function,+,furi_hal_gpio_enable_int_callback,void,const GpioPin*
Function,+,furi_hal_resources_get_ext_pin_number,int32_t,const GpioPin*
Function,+,furi_hal_gpio_init,void,"const GpioPin*, const GpioMode, const GpioPull, const GpioSpeed"
Function,+,furi_hal_gpio_init_ex,void,"const GpioPin*, const GpioMode, const GpioPull, const GpioSpeed, const GpioAltFn"
Function,+,furi_hal_gpio_init_simple,void,"const GpioPin*, const GpioMode"
@@ -1129,20 +1130,13 @@ Function,+,furi_hal_i2c_tx,_Bool,"FuriHalI2cBusHandle*, const uint8_t, const uin
Function,+,furi_hal_i2c_write_mem,_Bool,"FuriHalI2cBusHandle*, uint8_t, uint8_t, uint8_t*, uint8_t, uint32_t"
Function,+,furi_hal_i2c_write_reg_16,_Bool,"FuriHalI2cBusHandle*, uint8_t, uint8_t, uint16_t, uint32_t"
Function,+,furi_hal_i2c_write_reg_8,_Bool,"FuriHalI2cBusHandle*, uint8_t, uint8_t, uint8_t, uint32_t"
Function,+,furi_hal_ibutton_add_interrupt,void,"GpioExtiCallback, void*"
Function,+,furi_hal_ibutton_emulate_set_next,void,uint32_t
Function,+,furi_hal_ibutton_emulate_start,void,"uint32_t, FuriHalIbuttonEmulateCallback, void*"
Function,+,furi_hal_ibutton_emulate_stop,void,
Function,-,furi_hal_ibutton_init,void,
Function,+,furi_hal_ibutton_pin_get_level,_Bool,
Function,+,furi_hal_ibutton_pin_high,void,
Function,+,furi_hal_ibutton_pin_low,void,
Function,+,furi_hal_ibutton_remove_interrupt,void,
Function,+,furi_hal_ibutton_start_drive,void,
Function,+,furi_hal_ibutton_start_drive_in_isr,void,
Function,+,furi_hal_ibutton_start_interrupt,void,
Function,+,furi_hal_ibutton_start_interrupt_in_isr,void,
Function,+,furi_hal_ibutton_stop,void,
Function,+,furi_hal_ibutton_pin_configure,void,
Function,+,furi_hal_ibutton_pin_reset,void,
Function,+,furi_hal_ibutton_pin_write,void,const _Bool
Function,+,furi_hal_info_get,void,"PropertyValueCallback, char, void*"
Function,+,furi_hal_infrared_async_rx_set_capture_isr_callback,void,"FuriHalInfraredRxCaptureCallback, void*"
Function,+,furi_hal_infrared_async_rx_set_timeout,void,uint32_t
@@ -2040,7 +2034,7 @@ Function,+,onewire_device_detach,void,OneWireDevice*
Function,+,onewire_device_free,void,OneWireDevice*
Function,+,onewire_device_get_id_p,uint8_t*,OneWireDevice*
Function,+,onewire_device_send_id,void,OneWireDevice*
Function,+,onewire_host_alloc,OneWireHost*,
Function,+,onewire_host_alloc,OneWireHost*,const GpioPin*
Function,+,onewire_host_free,void,OneWireHost*
Function,+,onewire_host_read,uint8_t,OneWireHost*
Function,+,onewire_host_read_bit,_Bool,OneWireHost*
@@ -2054,7 +2048,7 @@ Function,+,onewire_host_stop,void,OneWireHost*
Function,+,onewire_host_target_search,void,"OneWireHost*, uint8_t"
Function,+,onewire_host_write,void,"OneWireHost*, uint8_t"
Function,+,onewire_host_write_bit,void,"OneWireHost*, _Bool"
Function,+,onewire_slave_alloc,OneWireSlave*,
Function,+,onewire_slave_alloc,OneWireSlave*,const GpioPin*
Function,+,onewire_slave_attach,void,"OneWireSlave*, OneWireDevice*"
Function,+,onewire_slave_detach,void,OneWireSlave*
Function,+,onewire_slave_free,void,OneWireSlave*
1 entry status name type params
2 Version + 12.2 13.0
3 Header + applications/services/bt/bt_service/bt.h
4 Header + applications/services/cli/cli.h
5 Header + applications/services/cli/cli_vcp.h
1094 Function + furi_hal_gpio_add_int_callback void const GpioPin*, GpioExtiCallback, void*
1095 Function + furi_hal_gpio_disable_int_callback void const GpioPin*
1096 Function + furi_hal_gpio_enable_int_callback void const GpioPin*
1097 Function + furi_hal_resources_get_ext_pin_number int32_t const GpioPin*
1098 Function + furi_hal_gpio_init void const GpioPin*, const GpioMode, const GpioPull, const GpioSpeed
1099 Function + furi_hal_gpio_init_ex void const GpioPin*, const GpioMode, const GpioPull, const GpioSpeed, const GpioAltFn
1100 Function + furi_hal_gpio_init_simple void const GpioPin*, const GpioMode
1130 Function + furi_hal_i2c_write_mem _Bool FuriHalI2cBusHandle*, uint8_t, uint8_t, uint8_t*, uint8_t, uint32_t
1131 Function + furi_hal_i2c_write_reg_16 _Bool FuriHalI2cBusHandle*, uint8_t, uint8_t, uint16_t, uint32_t
1132 Function + furi_hal_i2c_write_reg_8 _Bool FuriHalI2cBusHandle*, uint8_t, uint8_t, uint8_t, uint32_t
Function + furi_hal_ibutton_add_interrupt void GpioExtiCallback, void*
1133 Function + furi_hal_ibutton_emulate_set_next void uint32_t
1134 Function + furi_hal_ibutton_emulate_start void uint32_t, FuriHalIbuttonEmulateCallback, void*
1135 Function + furi_hal_ibutton_emulate_stop void
1136 Function - furi_hal_ibutton_init void
1137 Function + furi_hal_ibutton_pin_get_level furi_hal_ibutton_pin_configure _Bool void
1138 Function + furi_hal_ibutton_pin_high furi_hal_ibutton_pin_reset void
1139 Function + furi_hal_ibutton_pin_low furi_hal_ibutton_pin_write void const _Bool
Function + furi_hal_ibutton_remove_interrupt void
Function + furi_hal_ibutton_start_drive void
Function + furi_hal_ibutton_start_drive_in_isr void
Function + furi_hal_ibutton_start_interrupt void
Function + furi_hal_ibutton_start_interrupt_in_isr void
Function + furi_hal_ibutton_stop void
1140 Function + furi_hal_info_get void PropertyValueCallback, char, void*
1141 Function + furi_hal_infrared_async_rx_set_capture_isr_callback void FuriHalInfraredRxCaptureCallback, void*
1142 Function + furi_hal_infrared_async_rx_set_timeout void uint32_t
2034 Function + onewire_device_free void OneWireDevice*
2035 Function + onewire_device_get_id_p uint8_t* OneWireDevice*
2036 Function + onewire_device_send_id void OneWireDevice*
2037 Function + onewire_host_alloc OneWireHost* const GpioPin*
2038 Function + onewire_host_free void OneWireHost*
2039 Function + onewire_host_read uint8_t OneWireHost*
2040 Function + onewire_host_read_bit _Bool OneWireHost*
2048 Function + onewire_host_target_search void OneWireHost*, uint8_t
2049 Function + onewire_host_write void OneWireHost*, uint8_t
2050 Function + onewire_host_write_bit void OneWireHost*, _Bool
2051 Function + onewire_slave_alloc OneWireSlave* const GpioPin*
2052 Function + onewire_slave_attach void OneWireSlave*, OneWireDevice*
2053 Function + onewire_slave_detach void OneWireSlave*
2054 Function + onewire_slave_free void OneWireSlave*