ExploWare wrote:I seem to loose WiFi connectivity over time on several modules.
Anyone else recognizes this?
How long after the restart, and what does the log say?
@absinth84 , good job
pillarama wrote:
I went searching and found the Belkencorp Github. There seems to be a lot of useful stuff on there including what looks like I2C drivers for several chips there. Could these be useful?
https://github.com/bekencorp?tab=repositories
https://github.com/bekencorp/bk7231_rtt_sdk/blob/master/drivers/drv_iic.c
https://github.com/bekencorp/bk7231u_rtt_sdk/blob/master/drivers/drv_iic.c
I've also seen something leading to full Tuya I2C implementation but we seem to have only headers:
Code: C / C++
So maybe your option is better.... rt_i2c_bit_add_bus? A part of RTos?
Ah, the backend of this driver is here:
https://github.com/bekencorp/bk7231u_rtt_sdk/...7a87a920b918/rt-thread/components/drivers/i2c
We would have to port it....
but I just realized. Maybe there is indeed an I2C driver in the very beken SDK we are using?
https://github.com/tuya/tuya-iotos-embeded-sd...1t_os/beken378/func/user_driver/BkDriverI2c.h
Code: C / C++
Quote:
bk_i2c_t port; /**< Platform I2C port that is connected to the target I2C device, - e.g. BK_I2C_1 */
EDIT: it seems to be missing some types:
In file included from ../../../apps/OpenBK7231T_App/src/new_pins.c:61:0:
./beken378/common/../../beken378/func/user_driver/BkDriverI2c.h:70:9: error: unknown type name 'platform_i2c_bus_address_width_t'
typedef platform_i2c_bus_address_width_t bk_i2c_bus_address_width_t;
^
./beken378/common/../../beken378/func/user_driver/BkDriverI2c.h:72:9: error: unknown type name 'platform_i2c_speed_mode_t'
typedef platform_i2c_speed_mode_t bk_i2c_speed_mode_t;
^
./beken378/common/../../beken378/func/user_driver/BkDriverI2c.h:74:9: error: unknown type name 'platform_i2c_message_t'
typedef platform_i2c_message_t bk_i2c_message_t;
^
./beken378/common/../../beken378/func/user_driver/BkDriverI2c.h:78:5: error: unknown type name 'bk_i2c_t'
bk_i2c_t port; /**< Platform I2C port that is connected to the target I2C device, - e.g. BK_I2C_1 */
Especially bk_i2c_t type, I will look for them
I've also found more low llevel api:
Code: C / C++
pillarama wrote:
BK7231 Pin layout:
PWM4 I2C CLK
PWM5 I2C DATA (Incorrectly labelled as PWM2 on the bottom of PCB)
How do you know it's labelled incorrectly?
EDIT:
W:\GIT\OpenBK7231T\platforms\bk7231t\bk7231t_os/../../../apps/OpenBK7231T_App/src/new_pins.c:115: undefined reference to `i2c1_open'
W:\GIT\OpenBK7231T\platforms\bk7231t\bk7231t_os/../../../apps/OpenBK7231T_App/src/new_pins.c:120: undefined reference to `i2c1_write'
W:\GIT\OpenBK7231T\platforms\bk7231t\bk7231t_os/../../../apps/OpenBK7231T_App/src/new_pins.c:127: undefined reference to `i2c1_read'
W:\GIT\OpenBK7231T\platforms\bk7231t\bk7231t_os/../../../apps/OpenBK7231T_App/src/new_pins.c:130: undefined reference to `i2c1_close'
collect2.exe: error: ld returned 1 exit status
make[2]: *** [application.mk:640: application] Błąd 1
make[2]: Opuszczenie katalogu '/cygdrive/w/GIT/OpenBK7231T/platforms/bk7231t/bk7231t_os'
make[1]: *** [Makefile:5: mp] Błąd 2
make[1]: Opuszczenie katalogu '/cygdrive/w/GIT/OpenBK7231T/platforms/bk7231t/bk7231t_os'
make: *** [Makefile:6: all] Błąd 2
So it's time to update makefile, I hope all references are available in SDK
EDIT: datasheet of some bk7231 module with information which pin is hardware I2C:
![[BK7231T] My HTTP server, configurator, MQTT support from Home Assistant [BK7231T] My HTTP server, configurator, MQTT support from Home Assistant](https://obrazki.elektroda.pl/3840970000_1647008624_thumb.jpg)