Compare commits

...

11 Commits

Author SHA1 Message Date
93d92e34ff improved info messages 2025-07-14 15:14:51 +02:00
3b8c69561e enable/disable status 2025-07-14 13:04:42 +02:00
cf7467169d fixed init script 2025-07-14 11:15:33 +02:00
ea90f5e621 rootfs modifications 2025-07-13 23:45:30 +02:00
a0d9d53b98 enabled dependency libs by default 2025-07-11 17:16:41 +02:00
92efac4bb8 switched usb to host mode 2025-07-11 14:08:06 +02:00
101efcfa5a replaced UART{1|3}_M1 with UART{1|3}_M0 2025-07-11 14:08:06 +02:00
1e865d8720 enabled mosquitto 2025-07-11 14:08:05 +02:00
6bc6d33eb1 enabled some utils by default 2025-07-11 14:08:05 +02:00
9a6f4e9b73 ppp over uart support
enable ppp over uart support by default
2025-02-13 22:52:17 +02:00
1cc431a14f wireguard support
enable wireguard support by default
2025-02-13 22:12:22 +02:00
13 changed files with 181 additions and 17 deletions

View File

@ -122,11 +122,11 @@ post_chk() {
rk_mpi_ao_test -i /oem/usr/share/speaker_test.wav --sound_card_name=hw:0,0 --device_ch=2 --device_rate=8000 --input_rate=8000 --input_ch=2 --set_volume 50 rk_mpi_ao_test -i /oem/usr/share/speaker_test.wav --sound_card_name=hw:0,0 --device_ch=2 --device_rate=8000 --input_rate=8000 --input_ch=2 --set_volume 50
fi fi
if [ -d "/oem/usr/share/iqfiles" ]; then # if [ -d "/oem/usr/share/iqfiles" ]; then
rkipc -a /oem/usr/share/iqfiles & # rkipc -a /oem/usr/share/iqfiles &
else # else
rkipc & # rkipc &
fi # fi
} }
rcS rcS

View File

@ -44,7 +44,7 @@ UBUNTU_DIR=${SDK_SYSDRV_DIR}/tools/board/ubuntu
KERNEL_PATH=${SDK_SYSDRV_DIR}/source/kernel KERNEL_PATH=${SDK_SYSDRV_DIR}/source/kernel
UBOOT_PATH=${SDK_SYSDRV_DIR}/source/uboot/u-boot UBOOT_PATH=${SDK_SYSDRV_DIR}/source/uboot/u-boot
#for custom rootfs #for custom rootfs
CUSTOM_ROOT=${SDK_ROOT_DIR}/custom_root # CUSTOM_ROOT=${SDK_ROOT_DIR}/custom_root
export RK_JOBS=$(($(getconf _NPROCESSORS_ONLN) / 2 + 1)) export RK_JOBS=$(($(getconf _NPROCESSORS_ONLN) / 2 + 1))
export RK_BUILD_VERSION_TYPE=RELEASE export RK_BUILD_VERSION_TYPE=RELEASE

View File

@ -325,8 +325,8 @@ function luckfox_pico_pro_max_pin_diagram_file() {
PWM6_M2 - SPI0_M0_MISO - GPIO1_C3 | | GPIO2_A1 - - PWM6_M2 - SPI0_M0_MISO - GPIO1_C3 | | GPIO2_A1 - -
PWM5_M1 - I2C1_M1_SCL - GPIO2_B0 | | GPIO2_A0 - - PWM5_M1 - I2C1_M1_SCL - GPIO2_B0 | | GPIO2_A0 - -
- - GND | | GND - - - - GND | | GND - -
PWM3_M2 - UART3_M1_TX - GPIO1_D0 | | GPIO2_A5 - UART1_M1_RX - PWM3_M2 - UART3_M0_TX - GPIO1_D0 | | GPIO2_A5 - UART1_M0_RX -
PWM10_M2 - UART3_M1_RX - GPIO1_D1 | | GPIO2_A4 - UART1_M1_TX - PWM10_M2 - UART3_M0_RX - GPIO1_D1 | | GPIO2_A4 - UART1_M0_TX -
+ - + - + + - + - +
EOF EOF
} }

View File

@ -0,0 +1 @@
/usr/bin/t3hs/t3hs_frame_exporter_ctl

View File

@ -0,0 +1,3 @@
#! /bin/sh
export PATH="$PATH:/usr/bin/t3hs"

View File

@ -0,0 +1,34 @@
frame = {
width = 640;
height = 480;
fps = 1.0;
};
mjpeg = {
fps = 1.0;
port = 80;
mode = "disable";
};
mqtt_client = {
host = "127.0.0.1";
port = 1883;
user = "username";
password = "secret123";
sign_secret = "mykey";
id = "AAAAAAAA";
};
qr_scanner = {
enabled = false;
rescan_timeout = 2000;
send_topic = "TEST/UPLINK";
dstid = "FFFFFFFF";
};
mqtt_frame_exporter = {
listen_topic = "TEST/DOWNLINK";
send_topic = "TEST/UPLINK";
dstid = "FFFFFFFF";
max_block_size = 4096;
};

Binary file not shown.

View File

@ -0,0 +1,105 @@
#!/bin/sh
APP_NAME="frame_exporter"
APP_PATH="/usr/bin/t3hs/t3hs_frame_exporter"
APP_ARGS=""
PID_FILE="/var/run/t3hs/${APP_NAME}.pid"
ENABLED_FILE="/etc/t3hs/${APP_NAME}/enabled"
RUN_AS="root"
RESPAWN_DELAY=1
is_enabled() {
[ -f "$ENABLED_FILE" ] && return 0 || return 1
}
start() {
if [ -f "$PID_FILE" ]; then
pid=$(cat "$PID_FILE")
if kill -0 "$pid" 2>/dev/null; then
echo "$APP_NAME is already running (pid $pid)"
return 0
fi
fi
echo "Starting $APP_NAME..."
if is_enabled; then
while is_enabled; do
start-stop-daemon -S -b -m -p "$PID_FILE" -c "$RUN_AS" -x "$APP_PATH" -- $APP_ARGS >> /dev/null 2>&1
sleep "$RESPAWN_DELAY"
done &
else
start-stop-daemon -S -b -m -p "$PID_FILE" -c "$RUN_AS" -x "$APP_PATH" -- $APP_ARGS >> /dev/null 2>&1
fi
}
stop() {
echo "Stopping $APP_NAME..."
start-stop-daemon -K -p "$PID_FILE"
rm -f "$PID_FILE"
}
status() {
if [ -f "$PID_FILE" ]; then
pid=$(cat "$PID_FILE")
if kill -0 "$pid" 2>/dev/null; then
echo "$APP_NAME is running (pid $pid)"
return 0
else
echo "$APP_NAME pid file exists but process is not running"
return 1
fi
else
echo "$APP_NAME is not running"
return 3
fi
if is_enabled; then
echo "Endless restart enabled"
else
echo "Endless restart disabled"
fi
}
enable() {
touch "$ENABLED_FILE"
echo "Endless restart enabled"
}
disable() {
rm -f "$ENABLED_FILE"
echo "Endless restart disabled"
}
mkdir -p $(dirname "$PID_FILE")
mkdir -p $(dirname "$ENABLED_FILE")
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
sleep 1
start
;;
status)
status
;;
enable)
enable
;;
disable)
disable
;;
*)
echo "Usage: $0 {start|stop|restart|status|enable|disable}"
exit 1
;;
esac
exit 0

View File

@ -14,8 +14,11 @@ BR2_OPTIMIZE_3=y
BR2_TARGET_GENERIC_HOSTNAME="luckfox pico" BR2_TARGET_GENERIC_HOSTNAME="luckfox pico"
BR2_TARGET_GENERIC_ISSUE="Welcome to luckfox pico" BR2_TARGET_GENERIC_ISSUE="Welcome to luckfox pico"
BR2_TARGET_GENERIC_ROOT_PASSWD="luckfox" BR2_TARGET_GENERIC_ROOT_PASSWD="luckfox"
BR2_SYSTEM_BIN_SH_BASH=y
BR2_SYSTEM_ENABLE_NLS=y BR2_SYSTEM_ENABLE_NLS=y
BR2_ROOTFS_OVERLAY="../../../../rootfs_overlay"
BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
BR2_PACKAGE_GIT=y
BR2_PACKAGE_E2FSPROGS=y BR2_PACKAGE_E2FSPROGS=y
BR2_PACKAGE_E2FSPROGS_RESIZE2FS=y BR2_PACKAGE_E2FSPROGS_RESIZE2FS=y
BR2_PACKAGE_EVTEST=y BR2_PACKAGE_EVTEST=y
@ -34,23 +37,37 @@ BR2_PACKAGE_PYTHON_SPIDEV=y
BR2_PACKAGE_PYTHON_WERKZEUG=y BR2_PACKAGE_PYTHON_WERKZEUG=y
BR2_PACKAGE_GNUTLS=y BR2_PACKAGE_GNUTLS=y
BR2_PACKAGE_LIBMD=y BR2_PACKAGE_LIBMD=y
BR2_PACKAGE_LIBCONFIG=y
BR2_PACKAGE_FREETYPE=y BR2_PACKAGE_FREETYPE=y
BR2_PACKAGE_LIBDRM=y BR2_PACKAGE_LIBDRM=y
BR2_PACKAGE_ZBAR=y
BR2_PACKAGE_DTC=y BR2_PACKAGE_DTC=y
BR2_PACKAGE_DTC_PROGRAMS=y BR2_PACKAGE_DTC_PROGRAMS=y
BR2_PACKAGE_LIBV4L=y
BR2_PACKAGE_LIBV4L_UTILS=y BR2_PACKAGE_LIBV4L_UTILS=y
BR2_PACKAGE_LIBCURL=y
BR2_PACKAGE_LIBCURL_CURL=y
BR2_PACKAGE_IPERF=y BR2_PACKAGE_IPERF=y
BR2_PACKAGE_IPERF3=y BR2_PACKAGE_IPERF3=y
BR2_PACKAGE_IPTABLES=y
BR2_PACKAGE_LRZSZ=y BR2_PACKAGE_LRZSZ=y
BR2_PACKAGE_MOSQUITTO=y
BR2_PACKAGE_NTP=y BR2_PACKAGE_NTP=y
BR2_PACKAGE_OPENRESOLV=y
BR2_PACKAGE_OPENSSH=y BR2_PACKAGE_OPENSSH=y
BR2_PACKAGE_PPPD=y
BR2_PACKAGE_SOCAT=y BR2_PACKAGE_SOCAT=y
BR2_PACKAGE_BASH=y BR2_PACKAGE_WGET=y
BR2_PACKAGE_WIREGUARD_TOOLS=y
BR2_PACKAGE_BASH_LOADABLE_EXAMPLES=y BR2_PACKAGE_BASH_LOADABLE_EXAMPLES=y
BR2_PACKAGE_DIALOG=y BR2_PACKAGE_DIALOG=y
BR2_PACKAGE_FILE=y
BR2_PACKAGE_NEOFETCH=y
BR2_PACKAGE_TIME=y BR2_PACKAGE_TIME=y
BR2_PACKAGE_DCRON=y
BR2_PACKAGE_HTOP=y BR2_PACKAGE_HTOP=y
BR2_PACKAGE_UTIL_LINUX_LIBMOUNT=y BR2_PACKAGE_UTIL_LINUX_LIBMOUNT=y
BR2_PACKAGE_LESS=y
BR2_PACKAGE_NANO=y BR2_PACKAGE_NANO=y
BR2_PACKAGE_VIM=y
# BR2_PACKAGE_VIM_RUNTIME is not set
BR2_PACKAGE_HOST_DTC=y BR2_PACKAGE_HOST_DTC=y

View File

@ -52,7 +52,6 @@ CONFIG_UNIX=y
CONFIG_INET=y CONFIG_INET=y
CONFIG_INET_TABLE_PERTURB_ORDER=8 CONFIG_INET_TABLE_PERTURB_ORDER=8
# CONFIG_INET_DIAG is not set # CONFIG_INET_DIAG is not set
CONFIG_IPV6=m
# CONFIG_IPV6_SIT is not set # CONFIG_IPV6_SIT is not set
CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y CONFIG_DEVTMPFS_MOUNT=y
@ -75,7 +74,7 @@ CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y CONFIG_BLK_DEV_SD=y
CONFIG_SCSI_UFSHCD=y CONFIG_SCSI_UFSHCD=y
CONFIG_NETDEVICES=y CONFIG_NETDEVICES=y
# CONFIG_NET_CORE is not set CONFIG_WIREGUARD=y
# CONFIG_NET_VENDOR_ALACRITECH is not set # CONFIG_NET_VENDOR_ALACRITECH is not set
# CONFIG_NET_VENDOR_AMAZON is not set # CONFIG_NET_VENDOR_AMAZON is not set
# CONFIG_NET_VENDOR_AQUANTIA is not set # CONFIG_NET_VENDOR_AQUANTIA is not set
@ -116,6 +115,8 @@ CONFIG_STMMAC_ETH=y
# CONFIG_NET_VENDOR_WIZNET is not set # CONFIG_NET_VENDOR_WIZNET is not set
# CONFIG_NET_VENDOR_XILINX is not set # CONFIG_NET_VENDOR_XILINX is not set
CONFIG_RK630_PHY=y CONFIG_RK630_PHY=y
CONFIG_PPP=y
CONFIG_PPP_ASYNC=y
# CONFIG_USB_NET_DRIVERS is not set # CONFIG_USB_NET_DRIVERS is not set
# CONFIG_WLAN_VENDOR_ADMTEK is not set # CONFIG_WLAN_VENDOR_ADMTEK is not set
# CONFIG_WLAN_VENDOR_ATH is not set # CONFIG_WLAN_VENDOR_ATH is not set

View File

@ -338,10 +338,12 @@
pinctrl-0 = <&uart0m0_xfer &uart0m1_xfer>; pinctrl-0 = <&uart0m0_xfer &uart0m1_xfer>;
}; };
&uart1 { &uart1 {
pinctrl-0 = <&uart1m1_xfer>; // pinctrl-0 = <&uart1m1_xfer>;
pinctrl-0 = <&uart1m0_xfer>;
}; };
&uart3 { &uart3 {
pinctrl-0 = <&uart3m1_xfer>; // pinctrl-0 = <&uart3m1_xfer>;
pinctrl-0 = <&uart3m0_xfer>;
}; };
&uart4 { &uart4 {
pinctrl-0 = <&uart4m1_xfer>; pinctrl-0 = <&uart4m1_xfer>;

View File

@ -61,7 +61,8 @@
&usbdrd_dwc3 { &usbdrd_dwc3 {
status = "okay"; status = "okay";
dr_mode = "peripheral"; // dr_mode = "peripheral";
dr_mode = "host";
}; };
/**********SPI**********/ /**********SPI**********/

View File

@ -325,8 +325,8 @@ function luckfox_pico_pro_max_pin_diagram_file() {
PWM6_M2 - SPI0_M0_MISO - GPIO1_C3 | | GPIO2_A1 - - PWM6_M2 - SPI0_M0_MISO - GPIO1_C3 | | GPIO2_A1 - -
PWM5_M1 - I2C1_M1_SCL - GPIO2_B0 | | GPIO2_A0 - - PWM5_M1 - I2C1_M1_SCL - GPIO2_B0 | | GPIO2_A0 - -
- - GND | | GND - - - - GND | | GND - -
PWM3_M2 - UART3_M1_TX - GPIO1_D0 | | GPIO2_A5 - UART1_M1_RX - PWM3_M2 - UART3_M0_TX - GPIO1_D0 | | GPIO2_A5 - UART1_M0_RX -
PWM10_M2 - UART3_M1_RX - GPIO1_D1 | | GPIO2_A4 - UART1_M1_TX - PWM10_M2 - UART3_M0_RX - GPIO1_D1 | | GPIO2_A4 - UART1_M0_TX -
+ - + - + + - + - +
EOF EOF
} }