Skip to content

Commit a11dd42

Browse files
authored
Merge branch 'openshwprojects:main' into self-tests
2 parents dbd4709 + ccb267c commit a11dd42

File tree

81 files changed

+3935
-441
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

81 files changed

+3935
-441
lines changed

.github/workflows/workflow.yaml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -264,6 +264,20 @@ jobs:
264264
- platform: OpenBK7238
265265
variant: battery
266266
gcc: apt
267+
268+
# bt proxy
269+
- platform: OpenBK7238
270+
variant: btproxy
271+
gcc: apt
272+
- platform: OpenBK7231N_ALT
273+
variant: btproxy
274+
gcc: apt
275+
- platform: OpenRTL87X0C
276+
variant: btproxy
277+
gcc: apt
278+
- platform: OpenLN882H
279+
variant: btproxy
280+
gcc: 10.3-2021.10
267281
steps:
268282
- name: Source checkout
269283
uses: actions/checkout@v4

Makefile

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ else ifeq ($(VARIANT),hlw8112)
3131
OBK_VARIANT = 6
3232
else ifeq ($(VARIANT),battery)
3333
OBK_VARIANT = 7
34+
else ifeq ($(VARIANT),btproxy)
35+
OBK_VARIANT = 8
3436
else ifeq ($(VARIANT),2M)
3537
OBK_VARIANT = 1
3638
ESP_FSIZE = 2MB
@@ -637,7 +639,17 @@ OpenRTL8720E: prebuild_OpenRTL8720E
637639

638640
.PHONY: OpenBK7238
639641
OpenBK7238: prebuild_OpenBK7238
642+
ifeq ($(OBK_VARIANT), 8)
643+
cd sdk/beken_freertos_sdk && \
644+
cp -f beken378/app/config/sys_config_bk7238.h beken378/app/config/sys_config_bk7238.h.bak && \
645+
sed -i 's/#if 0\/\/BTPROXY/#if 1/' beken378/app/config/sys_config_bk7238.h && \
646+
OBK_VARIANT=$(OBK_VARIANT) sh build.sh bk7238 $(APP_VERSION); \
647+
rc=$$?; \
648+
mv -f beken378/app/config/sys_config_bk7238.h.bak beken378/app/config/sys_config_bk7238.h; \
649+
exit $$rc
650+
else
640651
cd sdk/beken_freertos_sdk && OBK_VARIANT=$(OBK_VARIANT) sh build.sh bk7238 $(APP_VERSION)
652+
endif
641653
mkdir -p output/$(APP_VERSION)
642654
cp sdk/beken_freertos_sdk/out/bk7238.bin output/$(APP_VERSION)/OpenBK7238_${APP_VERSION}.bin
643655
cp sdk/beken_freertos_sdk/out/bk7238_QIO.bin output/$(APP_VERSION)/OpenBK7238_QIO_${APP_VERSION}.bin
@@ -677,7 +689,17 @@ OpenBK7252N: prebuild_OpenBK7252N
677689

678690
.PHONY: OpenBK7231N_ALT
679691
OpenBK7231N_ALT: prebuild_OpenBK7231N_ALT
692+
ifeq ($(OBK_VARIANT), 8)
693+
cd sdk/beken_freertos_sdk && \
694+
cp -f beken378/app/config/sys_config_bk7231n.h beken378/app/config/sys_config_bk7231n.h.bak && \
695+
sed -i 's/#if 0\/\/BTPROXY/#if 1/' beken378/app/config/sys_config_bk7231n.h && \
696+
OBK_VARIANT=$(OBK_VARIANT) sh build.sh bk7231n $(APP_VERSION)_ALT; \
697+
rc=$$?; \
698+
mv -f beken378/app/config/sys_config_bk7231n.h.bak beken378/app/config/sys_config_bk7231n.h; \
699+
exit $$rc
700+
else
680701
cd sdk/beken_freertos_sdk && OBK_VARIANT=$(OBK_VARIANT) sh build.sh bk7231n $(APP_VERSION)_ALT
702+
endif
681703
mkdir -p output/$(APP_VERSION)
682704
cp sdk/beken_freertos_sdk/out/bk7231n_QIO.bin output/$(APP_VERSION)/OpenBK7231N_ALT_QIO_${APP_VERSION}.bin
683705
cp sdk/beken_freertos_sdk/out/bk7231n.bin output/$(APP_VERSION)/OpenBK7231N_ALT_${APP_VERSION}.bin

platforms/BK723x/OpenBeken.mk

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,18 @@ ifeq ($(SOC_BK7231T), 1)
1212
CCFLAGS += -DPLATFORM_BK7231T
1313
else
1414
CCFLAGS += -DPLATFORM_BK7231U
15+
CCFLAGS += -DENABLE_DRIVER_MDNS=1 -DLWIP_MDNS_RESPONDER=1 -DLWIP_NUM_NETIF_CLIENT_DATA=1
1516
endif
1617
else ifeq ($(CFG_SOC_NAME), 3)
1718
CCFLAGS += -DPLATFORM_BK7252
19+
CCFLAGS += -DENABLE_DRIVER_MDNS=1 -DLWIP_MDNS_RESPONDER=1 -DLWIP_NUM_NETIF_CLIENT_DATA=1
1820
else ifeq ($(CFG_SOC_NAME), 5)
1921
CCFLAGS += -DPLATFORM_BK7231N
2022
else ifeq ($(CFG_SOC_NAME), 7)
2123
CCFLAGS += -DPLATFORM_BK7238
2224
else ifeq ($(CFG_SOC_NAME), 8)
2325
CCFLAGS += -DPLATFORM_BK7252N
26+
CCFLAGS += -DENABLE_DRIVER_MDNS=1 -DLWIP_MDNS_RESPONDER=1 -DLWIP_NUM_NETIF_CLIENT_DATA=1
2427
endif
2528

2629
SRC_C += ./fixes/blank.c
@@ -36,6 +39,7 @@ APP_C += $(OBK_DIR)/hal/bk7231/hal_pins_bk7231.c
3639
APP_C += $(OBK_DIR)/hal/bk7231/hal_wifi_bk7231.c
3740
APP_C += $(OBK_DIR)/hal/bk7231/hal_uart_bk7231.c
3841
APP_C += $(OBK_DIR)/hal/bk7231/hal_ota_bk7231.c
42+
APP_C += $(OBK_DIR)/hal/bk7231/hal_bt_proxy_bk7231.c
3943

4044
OBK_SRCS = $(OBK_DIR)/
4145
include $(OBK_DIR)/../platforms/obk_main.mk
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
#!/bin/sh
2+
3+
BEKEN_SRC_MK="sdk/beken_freertos_sdk/beken378/beken_src.mk"
4+
LWIPOPTS_20="sdk/beken_freertos_sdk/beken378/func/lwip_intf/lwip-2.0.2/port/lwipopts.h"
5+
LWIPOPTS_21="sdk/beken_freertos_sdk/beken378/func/lwip_intf/lwip-2.1.3/port/lwipopts.h"
6+
7+
patch_lwipopts() {
8+
LWIPOPTS="$1"
9+
10+
if [ ! -f "$LWIPOPTS" ]; then
11+
return
12+
fi
13+
14+
echo "PREBUILD BK7231U: enabling lwIP mDNS options in $LWIPOPTS"
15+
16+
if grep -q '^[[:space:]]*#define LWIP_MDNS_RESPONDER' "$LWIPOPTS"; then
17+
sed -i 's/^[[:space:]]*#define LWIP_MDNS_RESPONDER.*/#define LWIP_MDNS_RESPONDER 1/' "$LWIPOPTS"
18+
else
19+
sed -i '/^[[:space:]]*#define LWIP_IGMP[[:space:]]\+1/a #define LWIP_MDNS_RESPONDER 1' "$LWIPOPTS"
20+
fi
21+
22+
if grep -q '^[[:space:]]*#define LWIP_NUM_NETIF_CLIENT_DATA' "$LWIPOPTS"; then
23+
sed -i 's/^[[:space:]]*#define LWIP_NUM_NETIF_CLIENT_DATA.*/#define LWIP_NUM_NETIF_CLIENT_DATA 1/' "$LWIPOPTS"
24+
else
25+
sed -i '/^[[:space:]]*#define LWIP_IGMP[[:space:]]\+1/a #define LWIP_NUM_NETIF_CLIENT_DATA 1' "$LWIPOPTS"
26+
fi
27+
}
28+
29+
patch_lwipopts "$LWIPOPTS_20"
30+
patch_lwipopts "$LWIPOPTS_21"
31+
32+
if [ ! -f "$LWIPOPTS_20" ] && [ ! -f "$LWIPOPTS_21" ]; then
33+
echo "PREBUILD BK7231U: WARN no lwipopts.h found for known lwIP paths"
34+
fi
35+
36+
if [ -f "$BEKEN_SRC_MK" ]; then
37+
if grep -q 'src/apps/mdns/mdns.c' "$BEKEN_SRC_MK"; then
38+
echo "PREBUILD BK7231U: mdns.c already present in beken_src.mk"
39+
else
40+
echo "PREBUILD BK7231U: adding mdns.c to lwIP source list"
41+
sed -i '/src\/apps\/mqtt\/mqtt\.c/a SRC_LWIP_C += ./beken378/func/lwip_intf/$(LWIP_VERSION)/src/apps/mdns/mdns.c' "$BEKEN_SRC_MK"
42+
fi
43+
else
44+
echo "PREBUILD BK7231U: WARN beken_src.mk not found: $BEKEN_SRC_MK"
45+
fi

platforms/BK723x/pre_build_7238.sh

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
#!/bin/sh
2+
3+
BEKEN_SRC_MK="sdk/beken_freertos_sdk/beken378/beken_src.mk"
4+
LWIPOPTS_20="sdk/beken_freertos_sdk/beken378/func/lwip_intf/lwip-2.0.2/port/lwipopts.h"
5+
LWIPOPTS_21="sdk/beken_freertos_sdk/beken378/func/lwip_intf/lwip-2.1.3/port/lwipopts.h"
6+
7+
patch_lwipopts() {
8+
LWIPOPTS="$1"
9+
10+
if [ ! -f "$LWIPOPTS" ]; then
11+
return
12+
fi
13+
14+
echo "PREBUILD BK7238: enabling lwIP mDNS options in $LWIPOPTS"
15+
16+
if grep -q '^[[:space:]]*#define LWIP_MDNS_RESPONDER' "$LWIPOPTS"; then
17+
sed -i 's/^[[:space:]]*#define LWIP_MDNS_RESPONDER.*/#define LWIP_MDNS_RESPONDER 1/' "$LWIPOPTS"
18+
else
19+
sed -i '/^[[:space:]]*#define LWIP_IGMP[[:space:]]\+1/a #define LWIP_MDNS_RESPONDER 1' "$LWIPOPTS"
20+
fi
21+
22+
if grep -q '^[[:space:]]*#define LWIP_NUM_NETIF_CLIENT_DATA' "$LWIPOPTS"; then
23+
sed -i 's/^[[:space:]]*#define LWIP_NUM_NETIF_CLIENT_DATA.*/#define LWIP_NUM_NETIF_CLIENT_DATA 1/' "$LWIPOPTS"
24+
else
25+
sed -i '/^[[:space:]]*#define LWIP_IGMP[[:space:]]\+1/a #define LWIP_NUM_NETIF_CLIENT_DATA 1' "$LWIPOPTS"
26+
fi
27+
}
28+
29+
patch_lwipopts "$LWIPOPTS_20"
30+
patch_lwipopts "$LWIPOPTS_21"
31+
32+
if [ ! -f "$LWIPOPTS_20" ] && [ ! -f "$LWIPOPTS_21" ]; then
33+
echo "PREBUILD BK7238: WARN no lwipopts.h found for known lwIP paths"
34+
fi
35+
36+
if [ -f "$BEKEN_SRC_MK" ]; then
37+
if grep -q 'src/apps/mdns/mdns.c' "$BEKEN_SRC_MK"; then
38+
echo "PREBUILD BK7238: mdns.c already present in beken_src.mk"
39+
else
40+
echo "PREBUILD BK7238: adding mdns.c to lwIP source list"
41+
sed -i '/src\/apps\/mqtt\/mqtt\.c/a SRC_LWIP_C += ./beken378/func/lwip_intf/$(LWIP_VERSION)/src/apps/mdns/mdns.c' "$BEKEN_SRC_MK"
42+
fi
43+
else
44+
echo "PREBUILD BK7238: WARN beken_src.mk not found: $BEKEN_SRC_MK"
45+
fi

platforms/BK723x/pre_build_7252.sh

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
#!/bin/sh
2+
3+
BEKEN_SRC_MK="sdk/beken_freertos_sdk/beken378/beken_src.mk"
4+
LWIPOPTS_20="sdk/beken_freertos_sdk/beken378/func/lwip_intf/lwip-2.0.2/port/lwipopts.h"
5+
LWIPOPTS_21="sdk/beken_freertos_sdk/beken378/func/lwip_intf/lwip-2.1.3/port/lwipopts.h"
6+
7+
patch_lwipopts() {
8+
LWIPOPTS="$1"
9+
10+
if [ ! -f "$LWIPOPTS" ]; then
11+
return
12+
fi
13+
14+
echo "PREBUILD BK7252: enabling lwIP mDNS options in $LWIPOPTS"
15+
16+
if grep -q '^[[:space:]]*#define LWIP_MDNS_RESPONDER' "$LWIPOPTS"; then
17+
sed -i 's/^[[:space:]]*#define LWIP_MDNS_RESPONDER.*/#define LWIP_MDNS_RESPONDER 1/' "$LWIPOPTS"
18+
else
19+
sed -i '/^[[:space:]]*#define LWIP_IGMP[[:space:]]\+1/a #define LWIP_MDNS_RESPONDER 1' "$LWIPOPTS"
20+
fi
21+
22+
if grep -q '^[[:space:]]*#define LWIP_NUM_NETIF_CLIENT_DATA' "$LWIPOPTS"; then
23+
sed -i 's/^[[:space:]]*#define LWIP_NUM_NETIF_CLIENT_DATA.*/#define LWIP_NUM_NETIF_CLIENT_DATA 1/' "$LWIPOPTS"
24+
else
25+
sed -i '/^[[:space:]]*#define LWIP_IGMP[[:space:]]\+1/a #define LWIP_NUM_NETIF_CLIENT_DATA 1' "$LWIPOPTS"
26+
fi
27+
}
28+
29+
patch_lwipopts "$LWIPOPTS_20"
30+
patch_lwipopts "$LWIPOPTS_21"
31+
32+
if [ ! -f "$LWIPOPTS_20" ] && [ ! -f "$LWIPOPTS_21" ]; then
33+
echo "PREBUILD BK7252: WARN no lwipopts.h found for known lwIP paths"
34+
fi
35+
36+
if [ -f "$BEKEN_SRC_MK" ]; then
37+
if grep -q 'src/apps/mdns/mdns.c' "$BEKEN_SRC_MK"; then
38+
echo "PREBUILD BK7252: mdns.c already present in beken_src.mk"
39+
else
40+
echo "PREBUILD BK7252: adding mdns.c to lwIP source list"
41+
sed -i '/src\/apps\/mqtt\/mqtt\.c/a SRC_LWIP_C += ./beken378/func/lwip_intf/$(LWIP_VERSION)/src/apps/mdns/mdns.c' "$BEKEN_SRC_MK"
42+
fi
43+
else
44+
echo "PREBUILD BK7252: WARN beken_src.mk not found: $BEKEN_SRC_MK"
45+
fi
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
#!/bin/sh
2+
3+
BEKEN_SRC_MK="sdk/beken_freertos_sdk/beken378/beken_src.mk"
4+
LWIPOPTS_20="sdk/beken_freertos_sdk/beken378/func/lwip_intf/lwip-2.0.2/port/lwipopts.h"
5+
LWIPOPTS_21="sdk/beken_freertos_sdk/beken378/func/lwip_intf/lwip-2.1.3/port/lwipopts.h"
6+
7+
patch_lwipopts() {
8+
LWIPOPTS="$1"
9+
10+
if [ ! -f "$LWIPOPTS" ]; then
11+
return
12+
fi
13+
14+
echo "PREBUILD BK7252N: enabling lwIP mDNS options in $LWIPOPTS"
15+
16+
if grep -q '^[[:space:]]*#define LWIP_MDNS_RESPONDER' "$LWIPOPTS"; then
17+
sed -i 's/^[[:space:]]*#define LWIP_MDNS_RESPONDER.*/#define LWIP_MDNS_RESPONDER 1/' "$LWIPOPTS"
18+
else
19+
sed -i '/^[[:space:]]*#define LWIP_IGMP[[:space:]]\+1/a #define LWIP_MDNS_RESPONDER 1' "$LWIPOPTS"
20+
fi
21+
22+
if grep -q '^[[:space:]]*#define LWIP_NUM_NETIF_CLIENT_DATA' "$LWIPOPTS"; then
23+
sed -i 's/^[[:space:]]*#define LWIP_NUM_NETIF_CLIENT_DATA.*/#define LWIP_NUM_NETIF_CLIENT_DATA 1/' "$LWIPOPTS"
24+
else
25+
sed -i '/^[[:space:]]*#define LWIP_IGMP[[:space:]]\+1/a #define LWIP_NUM_NETIF_CLIENT_DATA 1' "$LWIPOPTS"
26+
fi
27+
}
28+
29+
patch_lwipopts "$LWIPOPTS_20"
30+
patch_lwipopts "$LWIPOPTS_21"
31+
32+
if [ ! -f "$LWIPOPTS_20" ] && [ ! -f "$LWIPOPTS_21" ]; then
33+
echo "PREBUILD BK7252N: WARN no lwipopts.h found for known lwIP paths"
34+
fi
35+
36+
if [ -f "$BEKEN_SRC_MK" ]; then
37+
if grep -q 'src/apps/mdns/mdns.c' "$BEKEN_SRC_MK"; then
38+
echo "PREBUILD BK7252N: mdns.c already present in beken_src.mk"
39+
else
40+
echo "PREBUILD BK7252N: adding mdns.c to lwIP source list"
41+
sed -i '/src\/apps\/mqtt\/mqtt\.c/a SRC_LWIP_C += ./beken378/func/lwip_intf/$(LWIP_VERSION)/src/apps/mdns/mdns.c' "$BEKEN_SRC_MK"
42+
fi
43+
else
44+
echo "PREBUILD BK7252N: WARN beken_src.mk not found: $BEKEN_SRC_MK"
45+
fi

platforms/BL602/pre_build.sh

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,3 +36,16 @@
3636
# and then in pre_build.sh you apply this patch with:
3737
#
3838
# patch -p 1 -d sdk/OpenBL602 < platforms/BL602/my_change.diff
39+
40+
LWIP_MK="sdk/OpenBL602/components/network/lwip/bouffalo.mk"
41+
42+
if [ -f "$LWIP_MK" ]; then
43+
if grep -q 'src/apps/mdns' "$LWIP_MK"; then
44+
echo "PREBUILD BL602: lwIP mdns source already enabled"
45+
else
46+
echo "PREBUILD BL602: enabling lwIP mdns source"
47+
sed -i 's@src/apps/mqtt@src/apps/mqtt src/apps/mdns@' "$LWIP_MK"
48+
fi
49+
else
50+
echo "PREBUILD BL602: WARN lwip component makefile not found: $LWIP_MK"
51+
fi

platforms/ECR6600/OpenBeken.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
CFLAGS += -DPLATFORM_ECR6600 -Wno-error -DTCP_MSL=3000
2+
CFLAGS += -DENABLE_DRIVER_MDNS=1
23
VPATH += $(TOPDIR)/../../src
34
VPATH += $(TOPDIR)/../../platforms/ECR6600
45

platforms/ECR6600/pre_build.sh

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
#!/bin/sh
2+
3+
LWIP_MAKEDEFS="sdk/OpenECR6600/components/lwip/Make.defs"
4+
LWIPOPTS="sdk/OpenECR6600/components/lwip/contrib/port/lwipopts.h"
5+
6+
if [ -f "$LWIPOPTS" ]; then
7+
echo "PREBUILD ECR6600: enabling lwIP mDNS options"
8+
9+
if grep -q '^[[:space:]]*#define LWIP_MDNS_RESPONDER' "$LWIPOPTS"; then
10+
sed -i 's/^[[:space:]]*#define LWIP_MDNS_RESPONDER.*/#define LWIP_MDNS_RESPONDER 1/' "$LWIPOPTS"
11+
else
12+
sed -i '/^[[:space:]]*#define LWIP_IGMP[[:space:]]\+1/a #define LWIP_MDNS_RESPONDER 1' "$LWIPOPTS"
13+
fi
14+
15+
if grep -q '^[[:space:]]*#define LWIP_NUM_NETIF_CLIENT_DATA' "$LWIPOPTS"; then
16+
sed -i 's/^[[:space:]]*#define LWIP_NUM_NETIF_CLIENT_DATA.*/#define LWIP_NUM_NETIF_CLIENT_DATA 1/' "$LWIPOPTS"
17+
else
18+
sed -i '/^[[:space:]]*#define LWIP_IGMP[[:space:]]\+1/a #define LWIP_NUM_NETIF_CLIENT_DATA 1' "$LWIPOPTS"
19+
fi
20+
else
21+
echo "PREBUILD ECR6600: WARN lwipopts not found: $LWIPOPTS"
22+
fi
23+
24+
if [ -f "$LWIP_MAKEDEFS" ]; then
25+
if grep -q 'src/apps/mdns' "$LWIP_MAKEDEFS"; then
26+
echo "PREBUILD ECR6600: lwIP mdns source path already present"
27+
else
28+
echo "PREBUILD ECR6600: adding lwIP mdns source path"
29+
sed -i '/:lwip\/lwip-2.1.0\/src\/apps\/sntp \\/a \ :lwip/lwip-2.1.0/src/apps/mdns \\' "$LWIP_MAKEDEFS"
30+
fi
31+
32+
if grep -q '[[:space:]]mdns\.c' "$LWIP_MAKEDEFS"; then
33+
echo "PREBUILD ECR6600: mdns.c already present in lwIP source list"
34+
else
35+
echo "PREBUILD ECR6600: adding mdns.c to lwIP source list"
36+
sed -i 's/mqtt\.c sntp\.c \\/mqtt.c sntp.c mdns.c \\/' "$LWIP_MAKEDEFS"
37+
fi
38+
else
39+
echo "PREBUILD ECR6600: WARN lwip Make.defs not found: $LWIP_MAKEDEFS"
40+
fi

0 commit comments

Comments
 (0)