mirror of https://github.com/OpenIPC/firmware.git
Merge branch 'master' of github2:OpenIPC/firmware
commit
83fa5ba904
|
|
@ -4,7 +4,7 @@ on:
|
|||
branches:
|
||||
- master
|
||||
schedule:
|
||||
- cron: '30 23 * * *'
|
||||
- cron: '30 22 * * *'
|
||||
workflow_dispatch:
|
||||
|
||||
env:
|
||||
|
|
@ -37,6 +37,7 @@ jobs:
|
|||
|
||||
# Sigmastar [I6C]
|
||||
- {"platform": "ssc377", "release": "lite"}
|
||||
- {"platform": "ssc377d", "release": "lite"}
|
||||
- {"platform": "ssc377de", "release": "lite"}
|
||||
- {"platform": "ssc378de", "release": "lite"}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,60 @@
|
|||
name: image
|
||||
on:
|
||||
schedule:
|
||||
- cron: '30 23 * * *'
|
||||
workflow_dispatch:
|
||||
|
||||
env:
|
||||
SIGMASTAR: ssc30kd ssc30kq ssc325 ssc333 ssc335 ssc335de ssc337 ssc337de ssc338q ssc377 ssc377d ssc377de ssc378de
|
||||
INGENIC: t10 t10l t20 t20l t20x t21n t30a t30a1 t30l t30n t30x t31a t31al t31l t31lc t31n t31x
|
||||
|
||||
jobs:
|
||||
toolchain:
|
||||
name: Image
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Prepare
|
||||
run: |
|
||||
link=https://github.com/openipc/firmware/releases/download/latest
|
||||
create() {
|
||||
uboot=u-boot-$1-nor.bin
|
||||
firmware=openipc.$2-nor-$3.tgz
|
||||
release=images/openipc-$1-nor-$3.bin
|
||||
|
||||
mkdir -p images output
|
||||
if ! wget -nv $link/$uboot -O output/$1.bin; then
|
||||
echo -e "Download failed: $link/$uboot\n"
|
||||
return 0
|
||||
fi
|
||||
|
||||
if ! wget -nv $link/$firmware -O output/$2.tgz; then
|
||||
echo -e "Download failed: $link/$firmware\n"
|
||||
return 0
|
||||
fi
|
||||
|
||||
tar -xf output/$2.tgz -C output
|
||||
dd if=/dev/zero bs=1K count=5000 status=none | tr '\000' '\377' > $release
|
||||
dd if=output/$1.bin of=$release bs=1K seek=0 conv=notrunc status=none
|
||||
dd if=output/uImage.$2 of=$release bs=1K seek=320 conv=notrunc status=none
|
||||
dd if=output/rootfs.squashfs.$2 of=$release bs=1K seek=2368 conv=notrunc status=none
|
||||
rm -rf output
|
||||
|
||||
echo -e "Created: $release\n"
|
||||
}
|
||||
|
||||
for soc in $SIGMASTAR; do
|
||||
create $soc $soc lite
|
||||
create $soc $soc ultimate
|
||||
done
|
||||
|
||||
for soc in $INGENIC; do
|
||||
create $soc ${soc:0:3} lite
|
||||
create $soc ${soc:0:3} ultimate
|
||||
done
|
||||
|
||||
- name: Upload
|
||||
uses: softprops/action-gh-release@v2
|
||||
with:
|
||||
tag_name: images
|
||||
make_latest: false
|
||||
files: images/*.bin
|
||||
|
|
@ -108,7 +108,6 @@ BR2_PACKAGE_WIREGUARD_LINUX_COMPAT=y
|
|||
BR2_PACKAGE_WIREGUARD_TOOLS=y
|
||||
|
||||
# DEBUG
|
||||
BR2_PACKAGE_LOGCAT=y
|
||||
# BR2_PACKAGE_HOST_GDB is not set
|
||||
# BR2_PACKAGE_GDB is not set
|
||||
|
||||
|
|
|
|||
|
|
@ -108,7 +108,6 @@ BR2_PACKAGE_WIREGUARD_LINUX_COMPAT=y
|
|||
BR2_PACKAGE_WIREGUARD_TOOLS=y
|
||||
|
||||
# DEBUG
|
||||
BR2_PACKAGE_LOGCAT=y
|
||||
# BR2_PACKAGE_HOST_GDB is not set
|
||||
# BR2_PACKAGE_GDB is not set
|
||||
|
||||
|
|
|
|||
|
|
@ -122,7 +122,6 @@ BR2_PACKAGE_ZEROTIER_ONE=y
|
|||
# BR2_PACKAGE_NABTO is not set
|
||||
|
||||
# DEBUG
|
||||
BR2_PACKAGE_LOGCAT=y
|
||||
# BR2_PACKAGE_HOST_GDB is not set
|
||||
# BR2_PACKAGE_GDB is not set
|
||||
|
||||
|
|
|
|||
|
|
@ -108,7 +108,6 @@ BR2_PACKAGE_WIREGUARD_LINUX_COMPAT=y
|
|||
BR2_PACKAGE_WIREGUARD_TOOLS=y
|
||||
|
||||
# DEBUG
|
||||
BR2_PACKAGE_LOGCAT=y
|
||||
# BR2_PACKAGE_HOST_GDB is not set
|
||||
# BR2_PACKAGE_GDB is not set
|
||||
|
||||
|
|
|
|||
|
|
@ -110,7 +110,6 @@ BR2_PACKAGE_WIREGUARD_LINUX_COMPAT=y
|
|||
BR2_PACKAGE_WIREGUARD_TOOLS=y
|
||||
|
||||
# DEBUG
|
||||
BR2_PACKAGE_LOGCAT=y
|
||||
# BR2_PACKAGE_HOST_GDB is not set
|
||||
# BR2_PACKAGE_GDB is not set
|
||||
|
||||
|
|
|
|||
|
|
@ -108,7 +108,6 @@ BR2_PACKAGE_WIREGUARD_LINUX_COMPAT=y
|
|||
BR2_PACKAGE_WIREGUARD_TOOLS=y
|
||||
|
||||
# DEBUG
|
||||
BR2_PACKAGE_LOGCAT=y
|
||||
# BR2_PACKAGE_HOST_GDB is not set
|
||||
# BR2_PACKAGE_GDB is not set
|
||||
|
||||
|
|
|
|||
|
|
@ -114,7 +114,6 @@ BR2_PACKAGE_WIFIBROADCAST=y
|
|||
BR2_PACKAGE_MAVFWD=y
|
||||
|
||||
# DEBUG
|
||||
BR2_PACKAGE_LOGCAT=y
|
||||
# BR2_PACKAGE_HOST_GDB is not set
|
||||
# BR2_PACKAGE_GDB is not set
|
||||
|
||||
|
|
|
|||
|
|
@ -111,7 +111,6 @@ BR2_PACKAGE_WIREGUARD_TOOLS=y
|
|||
# BR2_PACKAGE_ONVIF_SIMPLE_SERVER is not set
|
||||
|
||||
# DEBUG
|
||||
BR2_PACKAGE_LOGCAT=y
|
||||
# BR2_PACKAGE_HOST_GDB is not set
|
||||
# BR2_PACKAGE_GDB is not set
|
||||
|
||||
|
|
|
|||
|
|
@ -128,7 +128,6 @@ BR2_PACKAGE_ZEROTIER_ONE=y
|
|||
# BR2_PACKAGE_NABTO is not set
|
||||
|
||||
# DEBUG
|
||||
BR2_PACKAGE_LOGCAT=y
|
||||
# BR2_PACKAGE_HOST_GDB is not set
|
||||
# BR2_PACKAGE_GDB is not set
|
||||
|
||||
|
|
|
|||
|
|
@ -109,7 +109,6 @@ BR2_PACKAGE_WIREGUARD_TOOLS=y
|
|||
# BR2_PACKAGE_ONVIF_SIMPLE_SERVER is not set
|
||||
|
||||
# DEBUG
|
||||
BR2_PACKAGE_LOGCAT=y
|
||||
# BR2_PACKAGE_HOST_GDB is not set
|
||||
# BR2_PACKAGE_GDB is not set
|
||||
|
||||
|
|
|
|||
|
|
@ -108,7 +108,6 @@ BR2_PACKAGE_WIREGUARD_LINUX_COMPAT=y
|
|||
BR2_PACKAGE_WIREGUARD_TOOLS=y
|
||||
|
||||
# DEBUG
|
||||
BR2_PACKAGE_LOGCAT=y
|
||||
# BR2_PACKAGE_HOST_GDB is not set
|
||||
# BR2_PACKAGE_GDB is not set
|
||||
|
||||
|
|
|
|||
|
|
@ -119,7 +119,6 @@ BR2_PACKAGE_ZEROTIER_ONE=y
|
|||
# BR2_PACKAGE_NABTO is not set
|
||||
|
||||
# DEBUG
|
||||
BR2_PACKAGE_LOGCAT=y
|
||||
# BR2_PACKAGE_HOST_GDB is not set
|
||||
# BR2_PACKAGE_GDB is not set
|
||||
|
||||
|
|
|
|||
|
|
@ -89,11 +89,11 @@ BR2_PACKAGE_ZLIB=y
|
|||
|
||||
# Wireless
|
||||
BR2_PACKAGE_WIRELESS_TOOLS=y
|
||||
BR2_PACKAGE_WPA_SUPPLICANT=y
|
||||
BR2_PACKAGE_WPA_SUPPLICANT_CLI=y
|
||||
BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT=y
|
||||
BR2_PACKAGE_WPA_SUPPLICANT_NL80211=y
|
||||
BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y
|
||||
# BR2_PACKAGE_WPA_SUPPLICANT is not set
|
||||
# BR2_PACKAGE_WPA_SUPPLICANT_CLI is not set
|
||||
# BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT is not set
|
||||
# BR2_PACKAGE_WPA_SUPPLICANT_NL80211 is not set
|
||||
# BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE is not set
|
||||
BR2_PACKAGE_RTL8812AU_OPENIPC=y
|
||||
BR2_PACKAGE_RTL88X2EU_OPENIPC=y
|
||||
|
||||
|
|
@ -102,6 +102,7 @@ BR2_PACKAGE_DATALINK=y
|
|||
BR2_PACKAGE_WIFIBROADCAST=y
|
||||
# BR2_PACKAGE_MAVLINK_ROUTER is not set
|
||||
BR2_PACKAGE_MAVFWD=y
|
||||
BR2_PACKAGE_MSPOSD=y
|
||||
|
||||
# Debug
|
||||
# BR2_PACKAGE_HOST_GDB is not set
|
||||
|
|
|
|||
|
|
@ -94,11 +94,11 @@ BR2_PACKAGE_ZLIB=y
|
|||
|
||||
# Wireless
|
||||
BR2_PACKAGE_WIRELESS_TOOLS=y
|
||||
BR2_PACKAGE_WPA_SUPPLICANT=y
|
||||
BR2_PACKAGE_WPA_SUPPLICANT_CLI=y
|
||||
BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT=y
|
||||
BR2_PACKAGE_WPA_SUPPLICANT_NL80211=y
|
||||
BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y
|
||||
# BR2_PACKAGE_WPA_SUPPLICANT is not set
|
||||
# BR2_PACKAGE_WPA_SUPPLICANT_CLI is not set
|
||||
# BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT is not set
|
||||
# BR2_PACKAGE_WPA_SUPPLICANT_NL80211 is not set
|
||||
# BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE is not set
|
||||
# BR2_PACKAGE_RTL8733BU_OPENIPC is not set
|
||||
BR2_PACKAGE_RTL8812AU_OPENIPC=y
|
||||
BR2_PACKAGE_RTL88X2EU_OPENIPC=y
|
||||
|
|
@ -108,6 +108,7 @@ BR2_PACKAGE_DATALINK=y
|
|||
BR2_PACKAGE_WIFIBROADCAST=y
|
||||
# BR2_PACKAGE_MAVLINK_ROUTER is not set
|
||||
BR2_PACKAGE_MAVFWD=y
|
||||
BR2_PACKAGE_MSPOSD=y
|
||||
|
||||
# Debug
|
||||
# BR2_PACKAGE_HOST_GDB is not set
|
||||
|
|
|
|||
|
|
@ -0,0 +1,116 @@
|
|||
# Architecture
|
||||
BR2_arm=y
|
||||
BR2_cortex_a35=y
|
||||
BR2_ARM_EABIHF=y
|
||||
BR2_ARM_FPU_NEON_VFPV4=y
|
||||
BR2_ARM_INSTRUCTIONS_THUMB2=y
|
||||
BR2_KERNEL_HEADERS_VERSION=y
|
||||
BR2_DEFAULT_KERNEL_VERSION="5.10.61"
|
||||
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y
|
||||
|
||||
# Toolchain
|
||||
BR2_PER_PACKAGE_DIRECTORIES=y
|
||||
BR2_GCC_VERSION_13_X=y
|
||||
BR2_TOOLCHAIN_USES_MUSL=y
|
||||
BR2_TOOLCHAIN_BUILDROOT_MUSL=y
|
||||
BR2_TOOLCHAIN_BUILDROOT_LIBC="musl"
|
||||
BR2_TOOLCHAIN_BUILDROOT_CXX=y
|
||||
# BR2_TOOLCHAIN_BUILDROOT_LOCALE is not set
|
||||
BR2_TOOLCHAIN_BUILDROOT_USE_SSP=y
|
||||
|
||||
# Kernel
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/openipc/linux/archive/$(OPENIPC_KERNEL).tar.gz"
|
||||
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(EXTERNAL_VENDOR)/board/$(OPENIPC_SOC_FAMILY)/kernel/infinity6c-ssc027a.config"
|
||||
BR2_LINUX_KERNEL_UIMAGE=y
|
||||
BR2_LINUX_KERNEL_XZ=y
|
||||
|
||||
# OpenIPC
|
||||
BR2_OPENIPC_SOC_VENDOR="sigmastar"
|
||||
BR2_OPENIPC_SOC_MODEL="ssc377d"
|
||||
BR2_OPENIPC_SOC_FAMILY="infinity6c"
|
||||
BR2_OPENIPC_VARIANT="lite"
|
||||
BR2_OPENIPC_FLASH_SIZE="8"
|
||||
|
||||
# Filesystem
|
||||
# BR2_TARGET_TZ_INFO is not set
|
||||
BR2_TARGET_ROOTFS_CPIO=y
|
||||
BR2_TARGET_ROOTFS_SQUASHFS=y
|
||||
BR2_TARGET_ROOTFS_SQUASHFS4_XZ=y
|
||||
BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL)/overlay"
|
||||
BR2_ROOTFS_POST_BUILD_SCRIPT="$(BR2_EXTERNAL)/scripts/rootfs_script.sh"
|
||||
|
||||
# OpenIPC configuration
|
||||
BR2_TOOLCHAIN_BUILDROOT_VENDOR="openipc"
|
||||
BR2_TARGET_GENERIC_ISSUE="Welcome to OpenIPC"
|
||||
BR2_TARGET_GENERIC_HOSTNAME="openipc-ssc377d"
|
||||
BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL)/package/all-patches"
|
||||
|
||||
# OpenIPC packages
|
||||
BR2_PACKAGE_BUSYBOX_CONFIG="$(BR2_EXTERNAL)/package/busybox/busybox.config"
|
||||
BR2_PACKAGE_DROPBEAR_OPENIPC=y
|
||||
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
|
||||
# BR2_PACKAGE_FDK_AAC_OPENIPC is not set
|
||||
BR2_PACKAGE_UBOOT_TOOLS=y
|
||||
BR2_PACKAGE_IPCTOOL=y
|
||||
BR2_PACKAGE_JSON_C=y
|
||||
BR2_PACKAGE_JSONFILTER=y
|
||||
BR2_PACKAGE_LIBCURL_OPENIPC=y
|
||||
BR2_PACKAGE_LIBCURL_OPENIPC_CURL=y
|
||||
# BR2_PACKAGE_LIBCURL_OPENIPC_VERBOSE is not set
|
||||
# BR2_PACKAGE_LIBCURL_OPENIPC_PROXY_SUPPORT is not set
|
||||
# BR2_PACKAGE_LIBCURL_OPENIPC_COOKIES_SUPPORT is not set
|
||||
# BR2_PACKAGE_LIBCURL_OPENIPC_EXTRA_PROTOCOLS_FEATURES is not set
|
||||
BR2_PACKAGE_LIBCURL_OPENIPC_MBEDTLS=y
|
||||
BR2_PACKAGE_LIBEVENT_OPENIPC=y
|
||||
BR2_PACKAGE_LIBEVENT_OPENIPC_REMOVE_PYSCRIPT=y
|
||||
BR2_PACKAGE_LIBOGG_OPENIPC=y
|
||||
BR2_PACKAGE_LIBYAML=y
|
||||
BR2_PACKAGE_MAJESTIC=y
|
||||
BR2_PACKAGE_MAJESTIC_FONTS=y
|
||||
BR2_PACKAGE_MAJESTIC_WEBUI=y
|
||||
BR2_PACKAGE_MBEDTLS_OPENIPC=y
|
||||
# BR2_PACKAGE_MBEDTLS_OPENIPC_PROGRAMS is not set
|
||||
# BR2_PACKAGE_MBEDTLS_OPENIPC_COMPRESSION is not set
|
||||
# BR2_PACKAGE_MINI_SNMPD is not set
|
||||
# BR2_PACKAGE_MOTORS is not set
|
||||
BR2_PACKAGE_OPUS_OPENIPC=y
|
||||
BR2_PACKAGE_OPUS_OPENIPC_FIXED_POINT=y
|
||||
BR2_PACKAGE_SIGMASTAR_OSDRV_INFINITY6C=y
|
||||
BR2_PACKAGE_EXFAT_OPENIPC=y
|
||||
BR2_PACKAGE_EXFATPROGS=y
|
||||
# BR2_PACKAGE_SSHPASS is not set
|
||||
# BR2_PACKAGE_UACME_OPENIPC is not set
|
||||
BR2_PACKAGE_VTUND_OPENIPC=y
|
||||
BR2_PACKAGE_YAML_CLI=y
|
||||
BR2_PACKAGE_ZLIB=y
|
||||
|
||||
# Wireless
|
||||
BR2_PACKAGE_WIRELESS_TOOLS=y
|
||||
BR2_PACKAGE_WIRELESS_REGDB=y
|
||||
BR2_PACKAGE_WPA_SUPPLICANT=y
|
||||
BR2_PACKAGE_WPA_SUPPLICANT_CLI=y
|
||||
BR2_PACKAGE_WPA_SUPPLICANT_NL80211=y
|
||||
BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y
|
||||
# BR2_PACKAGE_RTL8188FU_OPENIPC is not set
|
||||
|
||||
# Debug
|
||||
# BR2_PACKAGE_HOST_GDB is not set
|
||||
# BR2_PACKAGE_GDB is not set
|
||||
|
||||
# CCACHE
|
||||
BR2_CCACHE=y
|
||||
BR2_CCACHE_DIR="$(HOME)/.ccache"
|
||||
BR2_OPTIMIZE_S=y
|
||||
|
||||
# External
|
||||
BR2_TOOLCHAIN_EXTERNAL=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="arm-openipc-linux-musleabihf"
|
||||
BR2_TOOLCHAIN_EXTERNAL_CXX=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_10=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_URL="https://github.com/openipc/firmware/releases/download/$(OPENIPC_TOOLCHAIN).tgz"
|
||||
|
|
@ -91,11 +91,11 @@ BR2_PACKAGE_ZLIB=y
|
|||
# Wireless
|
||||
BR2_PACKAGE_WIRELESS_TOOLS=y
|
||||
BR2_PACKAGE_WIRELESS_REGDB=y
|
||||
BR2_PACKAGE_WPA_SUPPLICANT=y
|
||||
BR2_PACKAGE_WPA_SUPPLICANT_CLI=y
|
||||
BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT=y
|
||||
BR2_PACKAGE_WPA_SUPPLICANT_NL80211=y
|
||||
BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y
|
||||
# BR2_PACKAGE_WPA_SUPPLICANT is not set
|
||||
# BR2_PACKAGE_WPA_SUPPLICANT_CLI is not set
|
||||
# BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT is not set
|
||||
# BR2_PACKAGE_WPA_SUPPLICANT_NL80211 is not set
|
||||
# BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE is not set
|
||||
BR2_PACKAGE_RTL8812AU_OPENIPC=y
|
||||
BR2_PACKAGE_RTL88X2EU_OPENIPC=y
|
||||
|
||||
|
|
@ -104,6 +104,7 @@ BR2_PACKAGE_DATALINK=y
|
|||
BR2_PACKAGE_WIFIBROADCAST=y
|
||||
# BR2_PACKAGE_MAVLINK_ROUTER is not set
|
||||
BR2_PACKAGE_MAVFWD=y
|
||||
BR2_PACKAGE_MSPOSD=y
|
||||
|
||||
# Debug
|
||||
# BR2_PACKAGE_HOST_GDB is not set
|
||||
|
|
|
|||
|
|
@ -48,6 +48,14 @@ if [ "$1" = "mt7601u-gk7205v200-camhi" ]; then
|
|||
exit 0
|
||||
fi
|
||||
|
||||
# GK7205V300 CamHi
|
||||
if [ "$1" = "mt7601u-gk7205v300-camhi" ]; then
|
||||
devmem 0x100C0080 32 0x530
|
||||
set_gpio 7 0
|
||||
modprobe mt7601u
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# GK7205V200 CamHi
|
||||
if [ "$1" = "rtl8733bu-gk7205v200-camhi" ]; then
|
||||
set_gpio 9 0
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# OpenIPC.org | v.20220722
|
||||
# OpenIPC.org | v.20241008
|
||||
#
|
||||
|
||||
set -e
|
||||
|
|
@ -18,7 +18,7 @@ prepare() {
|
|||
ittb_folder="ittb_V1.0.1.2"
|
||||
;;
|
||||
|
||||
gk7205v200 | gk7205v300)
|
||||
gk7205v200 | gk7205v210 | gk7205v300)
|
||||
echo -e "\n\e[1;31mA supported processor with unknown MPP was found...\e[0m\n"
|
||||
echo -e "\n\e[1;31mDownload PQTools from https://github.com/widgetii/pqtools/raw/master/gk7205v200/PQTools.tgz\e[0m\n"
|
||||
ittb_url="https://raw.githubusercontent.com/widgetii/pqtools/master/gk7205v200/ittb_V1.0.2.0.tgz"
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
# OpenIPC.org | 2024
|
||||
#
|
||||
|
||||
scr_version=1.0.41
|
||||
scr_version=1.0.42
|
||||
|
||||
args=" $@"
|
||||
|
||||
|
|
@ -93,8 +93,8 @@ download_firmware() {
|
|||
[ -z "$url" ] && url=$(fw_printenv -n upgrade || echo "https://github.com/OpenIPC/firmware/releases/download/${branch}/openipc.${build}.tgz")
|
||||
echo "Download from $url"
|
||||
[ -z "$HASERLVER" ] && progress="-#" || progress="-s"
|
||||
[ "$(curl -o /dev/null -s -w '%{http_code}\n' "$url")" = "000" ] && die "Check your network!"
|
||||
curl --connect-timeout 30 -s -m 120 -L "$url" ${progress} -o - | gzip -d | tar xf - -C /tmp && echo_c 32 "Received and unpacked" || die "Cannot retrieve $url"
|
||||
[ "$(curl -o /dev/null -s -k -w '%{http_code}\n' "$url")" = "000" ] && die "Check your network!"
|
||||
curl --connect-timeout 30 -s -k -m 120 -L "$url" ${progress} -o - | gzip -d | tar xf - -C /tmp && echo_c 32 "Received and unpacked" || die "Cannot retrieve $url"
|
||||
if [ "1" != "$skip_md5" ]; then
|
||||
(cd /tmp && md5sum -s -c *.md5sum) || die "Wrong checksum!"
|
||||
fi
|
||||
|
|
|
|||
|
|
@ -57,7 +57,6 @@ source "$BR2_EXTERNAL_GENERAL_PATH/package/libsrtp-openipc/Config.in"
|
|||
source "$BR2_EXTERNAL_GENERAL_PATH/package/libwebsockets-openipc/Config.in"
|
||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/linux-firmware-openipc/Config.in"
|
||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/linux-patcher/Config.in"
|
||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/logcat/Config.in"
|
||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/lshell/Config.in"
|
||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/majestic-fonts/Config.in"
|
||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/majestic-plugins/Config.in"
|
||||
|
|
@ -70,6 +69,7 @@ source "$BR2_EXTERNAL_GENERAL_PATH/package/microsnander/Config.in"
|
|||
source "$BR2_EXTERNAL_GENERAL_PATH/package/mini-snmpd-openipc/Config.in"
|
||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/mini/Config.in"
|
||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/motors/Config.in"
|
||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/msposd/Config.in"
|
||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/mt7601u-openipc/Config.in"
|
||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/nabto/Config.in"
|
||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/node-exporter/Config.in"
|
||||
|
|
@ -111,6 +111,7 @@ source "$BR2_EXTERNAL_GENERAL_PATH/package/vtund-openipc/Config.in"
|
|||
source "$BR2_EXTERNAL_GENERAL_PATH/package/webui/Config.in"
|
||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/webrtc-audio-processing-openipc/Config.in"
|
||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/wifibroadcast/Config.in"
|
||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/wifibroadcast-ng/Config.in"
|
||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/xiongmai-opensdk-xm510/Config.in"
|
||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/xiongmai-osdrv-xm510/Config.in"
|
||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/xiongmai-osdrv-xm530/Config.in"
|
||||
|
|
|
|||
|
|
@ -6,6 +6,29 @@ if [ -e /etc/datalink.conf ]; then
|
|||
. /etc/datalink.conf
|
||||
fi
|
||||
|
||||
start_lte() {
|
||||
echo "Starting fpv datalink..."
|
||||
if [ "$usb_modem" = "true" ]; then
|
||||
echo "Starting lte modem configuration..."
|
||||
fi
|
||||
|
||||
if [ "$use_zt" = "true" ]; then
|
||||
echo "Starting ZeroTier-One daemon..."
|
||||
zerotier-one -d &
|
||||
if [ ! -f "/var/lib/zerotier-one/networks.d/$zt_netid.conf" ]; then
|
||||
sleep 8
|
||||
zerotier-cli join "$zt_netid" > /dev/null
|
||||
echo "Don't forget to authorize my.zerotier.com!"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$telemetry" = "true" ]; then
|
||||
telemetry start
|
||||
fi
|
||||
|
||||
exit 0
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
if [ -n "$(fw_printenv -n wlandev)" ]; then
|
||||
|
|
@ -16,39 +39,17 @@ case "$1" in
|
|||
tweaksys "$chip"
|
||||
fi
|
||||
|
||||
echo "Starting fpv datalink..."
|
||||
if [ "$fw" = "lte" ]; then
|
||||
if [ "$usb_modem" = "true" ]; then
|
||||
echo "Starting lte modem configuration..."
|
||||
fi
|
||||
|
||||
if [ "$use_zt" = "true" ]; then
|
||||
echo "Starting ZeroTier-One daemon..."
|
||||
/usr/sbin/zerotier-one -d &
|
||||
if [ ! -f "/var/lib/zerotier-one/networks.d/$zt_netid.conf" ]; then
|
||||
sleep 8
|
||||
zerotier-cli join "$zt_netid" > /dev/null
|
||||
echo "Don't forget to authorize my.zerotier.com!"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$telemetry" = "true" ]; then
|
||||
telemetry start
|
||||
fi
|
||||
else
|
||||
echo "Starting wifibroadcast service..."
|
||||
wifibroadcast start
|
||||
start_lte
|
||||
fi
|
||||
|
||||
echo "Starting wifibroadcast service..."
|
||||
wifibroadcast start
|
||||
;;
|
||||
|
||||
stop)
|
||||
echo "Stopping fpv datalink service..."
|
||||
killall -q wfb_tx
|
||||
killall -q wfb_rx
|
||||
killall -q telemetry_rx
|
||||
killall -q telemetry_tx
|
||||
killall -q mavlink-routerd
|
||||
killall -q mavfwd
|
||||
echo "Stopping wifibroadcast service..."
|
||||
wifibroadcast stop
|
||||
;;
|
||||
|
||||
*)
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
daemon=1
|
||||
telemetry=true
|
||||
tunnel=false
|
||||
|
||||
### only for lte firmware
|
||||
usb_modem=false
|
||||
|
|
|
|||
|
|
@ -10,9 +10,9 @@ if [ -e /etc/telemetry.conf ]; then
|
|||
. /etc/telemetry.conf
|
||||
fi
|
||||
|
||||
if [ ! -f /usr/bin/telemetry_rx ] && [ ! -f /usr/bin/telemetry_tx ]; then
|
||||
ln -s /usr/bin/wfb_rx /usr/bin/telemetry_rx
|
||||
ln -s /usr/bin/wfb_tx /usr/bin/telemetry_tx
|
||||
if [ ! -e /usr/bin/telemetry_rx ] || [ ! -e /usr/bin/telemetry_tx ]; then
|
||||
ln -fs /usr/bin/wfb_rx /usr/bin/telemetry_rx
|
||||
ln -fs /usr/bin/wfb_tx /usr/bin/telemetry_tx
|
||||
fi
|
||||
|
||||
start_drone_telemetry() {
|
||||
|
|
@ -39,9 +39,15 @@ case "$1" in
|
|||
if [ "$router" -eq 1 ] || [ "$fw" = "lte" ]; then
|
||||
mavlink-routerd -c /etc/mavlink.conf > /dev/null 2>&1 &
|
||||
else
|
||||
mavfwd --channels "$channels" --master "$serial" --baudrate "$baud" -p 100 -t -a "$aggregate" \
|
||||
--out 127.0.0.1:$port_tx --in 127.0.0.1:$port_rx > /dev/null &
|
||||
if [ "$router" -eq 2 ]; then
|
||||
msposd --master "$serial" --baudrate "$baud" --channels "$channels" \
|
||||
--out 127.0.0.1:14555 -osd -r "$fps" --ahi "$ahi" > /dev/null &
|
||||
else
|
||||
mavfwd --channels "$channels" --master "$serial" --baudrate "$baud" -p 100 -t -a "$aggregate" \
|
||||
--out 127.0.0.1:$port_tx --in 127.0.0.1:$port_rx > /dev/null &
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$fw" = "fpv" ] || [ "$fw" = "venc" ]; then
|
||||
start_${unit}_telemetry
|
||||
fi
|
||||
|
|
@ -53,6 +59,7 @@ case "$1" in
|
|||
killall -q telemetry_tx
|
||||
killall -q mavlink-routerd
|
||||
killall -q mavfwd
|
||||
killall -q msposd
|
||||
;;
|
||||
|
||||
*)
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ unit=drone
|
|||
serial=/dev/ttyAMA0
|
||||
baud=115200
|
||||
|
||||
### router: use simple mavfwd (0) or classic mavlink-routerd (1)
|
||||
### router: use simple mavfwd (0), classic mavlink-routerd (1) or msposd instead of mavfwd (2)
|
||||
router=0
|
||||
|
||||
wlan=wlan0
|
||||
|
|
@ -27,3 +27,7 @@ aggregate=15
|
|||
|
||||
### for mavfwd: RC override channels to parse after first 4 and call /usr/sbin/channels.sh $ch $val, default 0
|
||||
channels=8
|
||||
|
||||
### for msposd: OSD over video
|
||||
fps=20
|
||||
ahi=0
|
||||
|
|
|
|||
|
|
@ -25,7 +25,6 @@ hisi_goke() {
|
|||
fi
|
||||
|
||||
# remove unneeded modules
|
||||
sed -i "s!insmod ${prefix}_rgn.ko!#insmod ${prefix}_rgn.ko!g" "/usr/bin/load_${vendor}"
|
||||
sed -i "s!insmod ${prefix}_jpege.ko!#insmod ${prefix}_jpege.ko!g" "/usr/bin/load_${vendor}"
|
||||
sed -i "s!insmod ${prefix}_ive.ko save_power=0!#insmod ${prefix}_ive.ko save_power=0!g" "/usr/bin/load_${vendor}"
|
||||
sed -i "s!insmod ${prefix}_aio.ko!#insmod ${prefix}_aio.ko!g" "/usr/bin/load_${vendor}"
|
||||
|
|
@ -87,6 +86,7 @@ finish() {
|
|||
}
|
||||
|
||||
sigmastar() {
|
||||
sed -i "s|tunnel=false|tunnel=true|g" /etc/datalink.conf
|
||||
sed -i "s|serial=/dev/ttyAMA0|serial=/dev/ttyS2|g" /etc/telemetry.conf
|
||||
sed -i "s|Device = /dev/ttyAMA0|Device = /dev/ttyS2|g" /etc/mavlink.conf
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,5 @@
|
|||
config BR2_PACKAGE_GK7205V200_MOTORS
|
||||
bool "gk7205v200-motors"
|
||||
default n
|
||||
help
|
||||
Sample code to control gk7205v200 motors.
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
################################################################################
|
||||
#
|
||||
# gk7205v200-motors
|
||||
#
|
||||
################################################################################
|
||||
|
||||
GK7205V200_MOTORS_SITE_METHOD = local
|
||||
GK7205V200_MOTORS_SITE = $(GK7205V200_MOTORS_PKGDIR)/src
|
||||
|
||||
define GK7205V200_MOTORS_BUILD_CMDS
|
||||
$(MAKE) CC=$(TARGET_CC) -C $(@D)
|
||||
endef
|
||||
|
||||
define GK7205V200_MOTORS_INSTALL_TARGET_CMDS
|
||||
$(INSTALL) -m 755 -d $(TARGET_DIR)/usr/bin
|
||||
$(INSTALL) -m 755 -t $(TARGET_DIR)/usr/bin $(@D)/output/motor
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
motor:
|
||||
mkdir -p output
|
||||
$(CC) $@.c -o output/$@ -s -Wall
|
||||
|
|
@ -0,0 +1,154 @@
|
|||
#include <errno.h>
|
||||
#include <fcntl.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
#include <linux/gpio.h>
|
||||
#include <sys/file.h>
|
||||
#include <sys/ioctl.h>
|
||||
|
||||
#define STEP_TIME 1000
|
||||
#define STEP_COUNT 1
|
||||
#define SEQ_COUNT 8
|
||||
|
||||
typedef struct {
|
||||
const char *name;
|
||||
int gpio_x[4];
|
||||
int gpio_y[4];
|
||||
} config;
|
||||
|
||||
static config list[] = {
|
||||
{ "gk7205v200", { 52, 53, 56, 57 }, { 69, 70, 59, 58 }, },
|
||||
};
|
||||
|
||||
const char* dev_name[] = { "/dev/gpiochip0", "/dev/gpiochip1", "/dev/gpiochip2", "/dev/gpiochip3",
|
||||
"/dev/gpiochip4", "/dev/gpiochip5", "/dev/gpiochip6", "/dev/gpiochip7",
|
||||
};
|
||||
|
||||
static int sequence[][4] = {
|
||||
{ 1, 0, 0, 0 }, { 1, 1, 0, 0 }, { 0, 1, 0, 0 }, { 0, 1, 1, 0 },
|
||||
{ 0, 0, 1, 0 }, { 0, 0, 1, 1 }, { 0, 0, 0, 1 }, { 1, 0, 0, 1 },
|
||||
{ 1, 0, 0, 1 }, { 0, 0, 0, 1 }, { 0, 0, 1, 1 }, { 0, 0, 1, 0 },
|
||||
{ 0, 1, 1, 0 }, { 0, 1, 0, 0 }, { 1, 1, 0, 0 }, { 1, 0, 0, 0 },
|
||||
};
|
||||
|
||||
static int write_gpio(int pin, int val) {
|
||||
struct gpiohandle_request rq;
|
||||
struct gpiohandle_data data;
|
||||
unsigned char gpiochip = ((pin >> 3) == 0) ? 0 : (pin >> 3) - 1;
|
||||
pin = (int) (pin & 7);
|
||||
int fd = open(dev_name[gpiochip], O_RDONLY);
|
||||
if (fd < 0) {
|
||||
printf("Unable to open chip: %s\n", strerror(errno));
|
||||
return 1;
|
||||
}
|
||||
|
||||
rq.lineoffsets[0] = pin;
|
||||
rq.flags = GPIOHANDLE_REQUEST_OUTPUT;
|
||||
rq.lines = 1;
|
||||
|
||||
if (ioctl(fd, GPIO_GET_LINEHANDLE_IOCTL, &rq) < 0) {
|
||||
printf("Unable to request gpio %d: [%d] %s\n", pin, errno, strerror(errno));
|
||||
return 1;
|
||||
}
|
||||
|
||||
close(fd);
|
||||
data.values[0] = val;
|
||||
|
||||
if (ioctl(rq.fd, GPIOHANDLE_SET_LINE_VALUES_IOCTL, &data) < 0) {
|
||||
printf("Unable to set value %d: %s\n", val, strerror(errno));
|
||||
return 1;
|
||||
}
|
||||
|
||||
close(rq.fd);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int motor_control(int *gpio, int count) {
|
||||
for (int i = count; i < count + SEQ_COUNT; i++) {
|
||||
for (int j = 0; j < 4; j++) {
|
||||
if (write_gpio(gpio[j], sequence[i][j])) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
usleep(STEP_TIME);
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int gpio_export(int *gpio) {
|
||||
for (int i = 0; i < 4; i++) {
|
||||
if (write_gpio(gpio[i], 0)) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
if (argc < 3 || argc > 4) {
|
||||
printf("Usage: %s [device] [x_step] [y_step]\n", argv[0]);
|
||||
return -1;
|
||||
}
|
||||
|
||||
int dev = -1;
|
||||
for (int i = 0; i < sizeof(list) / sizeof(config); i++) {
|
||||
if (strstr(argv[1], list[i].name)) {
|
||||
dev = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (dev < 0) {
|
||||
printf("Device not supported\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
int pid = open("/var/run/motor.pid", O_RDWR | O_CREAT, 0644);
|
||||
if (flock(pid, LOCK_EX | LOCK_NB)) {
|
||||
printf("Control in progress\n");
|
||||
close(pid);
|
||||
return -1;
|
||||
}
|
||||
|
||||
int x = argv[2] ? atoi(argv[2]) : 0;
|
||||
int y = argv[3] ? atoi(argv[3]) : 0;
|
||||
|
||||
if (gpio_export(list[dev].gpio_x) || gpio_export(list[dev].gpio_y)) {
|
||||
close(pid);
|
||||
return -1;
|
||||
}
|
||||
|
||||
int count_x = abs(x) ? STEP_COUNT : 0;
|
||||
int count_y = abs(y) ? STEP_COUNT : 0;
|
||||
|
||||
while (count_x || count_y) {
|
||||
if (count_x) {
|
||||
if (motor_control(list[dev].gpio_x, (x < 0) ? SEQ_COUNT : 0)) {
|
||||
goto reset;
|
||||
}
|
||||
|
||||
count_x--;
|
||||
}
|
||||
|
||||
if (count_y) {
|
||||
if (motor_control(list[dev].gpio_y, (y < 0) ? 0 : SEQ_COUNT)) {
|
||||
goto reset;
|
||||
}
|
||||
|
||||
count_y--;
|
||||
}
|
||||
}
|
||||
|
||||
reset:
|
||||
gpio_export(list[dev].gpio_x);
|
||||
gpio_export(list[dev].gpio_y);
|
||||
close(pid);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
[sensor]
|
||||
Sensor_type=stSnsgc4653_2lObj
|
||||
Mode=WDR_MODE_NONE
|
||||
DllFile=libsns_gc4653_2l.so
|
||||
|
||||
[mode]
|
||||
input_mode=INPUT_MODE_MIPI
|
||||
raw_bitness=10
|
||||
clock=27MHz
|
||||
|
||||
[mipi]
|
||||
lane_id = 0|1|-1|-1|-1|-1|-1|-1| ;lane_id: -1 - disable
|
||||
|
||||
[isp_image]
|
||||
Isp_FrameRate=25
|
||||
Isp_Bayer=BAYER_GRBG
|
||||
|
||||
[vi_dev]
|
||||
Input_mod=VI_MODE_MIPI
|
||||
Work_mod = VI_WORK_MODE_1Multiplex
|
||||
Mask_num = 2
|
||||
Mask_0 = 0xFFC00000
|
||||
Mask_1 = 0x0
|
||||
Scan_mode = VI_SCAN_PROGRESSIVE
|
||||
Data_seq = VI_DATA_SEQ_YUYV
|
||||
Vsync =1 ; vertical synchronization signal
|
||||
;VI_VSYNC_PULSE,
|
||||
VsyncNeg=1 ;Polarity of the vertical synchronization signal
|
||||
;VI_VSYNC_NEG_HIGH = 0,
|
||||
;VI_VSYNC_NEG_LOW /*if VIU_VSYNC_E
|
||||
Hsync =0 ;Attribute of the horizontal synchronization signal
|
||||
;VI_HSYNC_VALID_SINGNAL = 0,
|
||||
;VI_HSYNC_PULSE,
|
||||
HsyncNeg =0 ;Polarity of the horizontal synchronization signal
|
||||
;VI_HSYNC_NEG_HIGH = 0,
|
||||
;VI_HSYNC_NEG_LOW
|
||||
VsyncValid =1 ;Attribute of the valid vertical synchronization signal
|
||||
;VI_VSYNC_NORM_PULSE = 0,
|
||||
;VI_VSYNC_VALID_SINGAL,
|
||||
VsyncValidNeg =0;Polarity of the valid vertical synchronization signal
|
||||
;VI_VSYNC_VALID_NEG_HIGH = 0,
|
||||
;VI_VSYNC_VALID_NEG_LOW
|
||||
Timingblank_HsyncHfb =0 ;Horizontal front blanking width
|
||||
Timingblank_HsyncAct =2560 ;Horizontal effetive width
|
||||
Timingblank_HsyncHbb =0 ;Horizontal back blanking width
|
||||
Timingblank_VsyncVfb =0 ;Vertical front blanking height
|
||||
Timingblank_VsyncVact =1440 ;Vertical effetive width
|
||||
Timingblank_VsyncVbb=0 ;Vertical back blanking height
|
||||
Timingblank_VsyncVbfb =0 ;Even-field vertical front blanking height(interlace, invalid progressive)
|
||||
Timingblank_VsyncVbact=0 ;Even-field vertical effetive width(interlace, invalid progressive)
|
||||
Timingblank_VsyncVbbb =0 ;Even-field vertical back blanking height(interlace, invalid progressive)
|
||||
InputDataType=1 ;VI_DATA_TYPE_YUV = 0,VI_DATA_TYPE_RGB = 1,
|
||||
DataRev =FALSE ;Data reverse. FALSE = 0; TRUE = 1
|
||||
DevRect_w=2560
|
||||
DevRect_h=1440
|
||||
DevRect_x=0
|
||||
DevRect_y=0
|
||||
|
||||
Combine_mode =0 ;Y/C composite or separation mode
|
||||
;VI_COMBINE_COMPOSITE = 0 /*Composite mode */
|
||||
;VI_COMBINE_SEPARATE, /*Separate mode */
|
||||
Comp_mode =0 ;Component mode (single-component or dual-component)
|
||||
;VI_COMP_MODE_SINGLE = 0, /*single component mode */
|
||||
;VI_COMP_MODE_DOUBLE = 1, /*double component mode */
|
||||
Clock_edge =1 ;Clock edge mode (sampling on the rising or falling edge)
|
||||
;VI_CLK_EDGE_SINGLE_UP=0, /*rising edge */
|
||||
;VI_CLK_EDGE_SINGLE_DOWN, /*falling edge */
|
||||
|
|
@ -0,0 +1,79 @@
|
|||
[sensor]
|
||||
Sensor_type=stSnsSc3335Obj
|
||||
Mode=WDR_MODE_NONE
|
||||
DllFile=libsns_sc3335.so
|
||||
|
||||
[mode]
|
||||
input_mode=INPUT_MODE_MIPI
|
||||
raw_bitness=10
|
||||
|
||||
[mipi]
|
||||
lane_id = 0|2|-1|-1|-1|-1|-1|-1| ;lane_id: -1 - disable
|
||||
|
||||
[isp_image]
|
||||
Isp_FrameRate=20
|
||||
Isp_Bayer=BAYER_BGGR
|
||||
|
||||
[vi_dev]
|
||||
Input_mod=VI_MODE_MIPI
|
||||
Work_mod =0 ;VI_WORK_MODE_1Multiplex = 0
|
||||
;VI_WORK_MODE_2Multiplex,
|
||||
;VI_WORK_MODE_4Multiplex
|
||||
Combine_mode =0 ;Y/C composite or separation mode
|
||||
;VI_COMBINE_COMPOSITE = 0 /*Composite mode */
|
||||
;VI_COMBINE_SEPARATE, /*Separate mode */
|
||||
Comp_mode =0 ;Component mode (single-component or dual-component)
|
||||
;VI_COMP_MODE_SINGLE = 0, /*single component mode */
|
||||
;VI_COMP_MODE_DOUBLE = 1, /*double component mode */
|
||||
Clock_edge =1 ;Clock edge mode (sampling on the rising or falling edge)
|
||||
;VI_CLK_EDGE_SINGLE_UP=0, /*rising edge */
|
||||
;VI_CLK_EDGE_SINGLE_DOWN, /*falling edge */
|
||||
Mask_num =2 ;Component mask
|
||||
Mask_0 =0xFFF00000
|
||||
Mask_1 =0x0
|
||||
Scan_mode = 1;VI_SCAN_INTERLACED = 0
|
||||
;VI_SCAN_PROGRESSIVE,
|
||||
Data_seq =2 ;data sequence (ONLY for YUV format)
|
||||
;----2th component U/V sequence in bt1120
|
||||
; VI_INPUT_DATA_VUVU = 0,
|
||||
; VI_INPUT_DATA_UVUV,
|
||||
;----input sequence for yuv
|
||||
; VI_INPUT_DATA_UYVY = 0,
|
||||
; VI_INPUT_DATA_VYUY,
|
||||
; VI_INPUT_DATA_YUYV,
|
||||
; VI_INPUT_DATA_YVYU
|
||||
|
||||
Vsync =1 ; vertical synchronization signal
|
||||
;VI_VSYNC_FIELD = 0,
|
||||
;VI_VSYNC_PULSE,
|
||||
VsyncNeg=1 ;Polarity of the vertical synchronization signal
|
||||
;VI_VSYNC_NEG_HIGH = 0,
|
||||
;VI_VSYNC_NEG_LOW /*if VIU_VSYNC_E
|
||||
Hsync =0 ;Attribute of the horizontal synchronization signal
|
||||
;VI_HSYNC_VALID_SINGNAL = 0,
|
||||
;VI_HSYNC_PULSE,
|
||||
HsyncNeg =0 ;Polarity of the horizontal synchronization signal
|
||||
;VI_HSYNC_NEG_HIGH = 0,
|
||||
;VI_HSYNC_NEG_LOW
|
||||
VsyncValid =1 ;Attribute of the valid vertical synchronization signal
|
||||
;VI_VSYNC_NORM_PULSE = 0,
|
||||
;VI_VSYNC_VALID_SINGAL,
|
||||
VsyncValidNeg =0;Polarity of the valid vertical synchronization signal
|
||||
;VI_VSYNC_VALID_NEG_HIGH = 0,
|
||||
;VI_VSYNC_VALID_NEG_LOW
|
||||
Timingblank_HsyncHfb =0 ;Horizontal front blanking width
|
||||
Timingblank_HsyncAct =2304 ;Horizontal effetive width
|
||||
Timingblank_HsyncHbb =0 ;Horizontal back blanking width
|
||||
Timingblank_VsyncVfb =0 ;Vertical front blanking height
|
||||
Timingblank_VsyncVact =1296 ;Vertical effetive width
|
||||
Timingblank_VsyncVbb=0 ;Vertical back blanking height
|
||||
Timingblank_VsyncVbfb =0 ;Even-field vertical front blanking height(interlace, invalid progressive)
|
||||
Timingblank_VsyncVbact=0 ;Even-field vertical effetive width(interlace, invalid progressive)
|
||||
Timingblank_VsyncVbbb =0 ;Even-field vertical back blanking height(interlace, invalid progressive)
|
||||
InputDataType=1 ;VI_DATA_TYPE_YUV = 0,VI_DATA_TYPE_RGB = 1,
|
||||
DataRev =FALSE ;Data reverse. FALSE = 0; TRUE = 1
|
||||
DevRect_x=200
|
||||
DevRect_y=20
|
||||
DevRect_w=2304
|
||||
DevRect_h=1296
|
||||
FullLinesStd=1350
|
||||
Binary file not shown.
Binary file not shown.
|
|
@ -1,4 +0,0 @@
|
|||
config BR2_PACKAGE_LOGCAT
|
||||
bool "logcat"
|
||||
help
|
||||
Logcat tool for Ingenic
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
################################################################################
|
||||
#
|
||||
# logcat
|
||||
# https://github.com/wltechblog/logcat-mini
|
||||
#
|
||||
################################################################################
|
||||
|
||||
LOGCAT_SITE_METHOD = local
|
||||
LOGCAT_SITE = $(LOGCAT_PKGDIR)/src
|
||||
LOGCAT_LICENSE = MIT
|
||||
LOGCAT_LICENSE_FILES = LICENSE
|
||||
|
||||
define LOGCAT_BUILD_CMDS
|
||||
$(TARGET_CC) $(@D)/logcat.c -o $(@D)/logcat -s
|
||||
endef
|
||||
|
||||
define LOGCAT_INSTALL_TARGET_CMDS
|
||||
$(INSTALL) -m 755 -t $(TARGET_DIR)/usr/bin $(@D)/logcat
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
||||
|
|
@ -1,125 +0,0 @@
|
|||
#include <errno.h>
|
||||
#include <fcntl.h>
|
||||
#include <stdint.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <sys/ioctl.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#define LOGGER_ENTRY_MAX_LEN (4 * 1024)
|
||||
#define LOGGER_FLUSH_LOG _IO(__LOGGERIO, 4)
|
||||
#define __LOGGERIO 0xAE
|
||||
|
||||
struct logger_entry {
|
||||
uint16_t len;
|
||||
uint16_t __pad;
|
||||
int32_t pid;
|
||||
int32_t tid;
|
||||
int32_t sec;
|
||||
int32_t nsec;
|
||||
char msg[4096];
|
||||
} entry;
|
||||
|
||||
enum android_LogPriority {
|
||||
ANDROID_LOG_UNKNOWN = 0,
|
||||
ANDROID_LOG_DEFAULT,
|
||||
ANDROID_LOG_VERBOSE,
|
||||
ANDROID_LOG_DEBUG,
|
||||
ANDROID_LOG_INFO,
|
||||
ANDROID_LOG_WARN,
|
||||
ANDROID_LOG_ERROR,
|
||||
ANDROID_LOG_FATAL,
|
||||
ANDROID_LOG_SILENT,
|
||||
};
|
||||
|
||||
int main(int argc, char *argv[]) {
|
||||
int fd;
|
||||
int msize;
|
||||
int readsize;
|
||||
int numread;
|
||||
|
||||
if (argc > 1) {
|
||||
if (strcmp(argv[1], "-c") == 0) {
|
||||
fd = open("/dev/log_main", O_WRONLY);
|
||||
if (fd < 0) {
|
||||
perror("Error opening /dev/log_main\n");
|
||||
return -1;
|
||||
}
|
||||
ioctl(fd, LOGGER_FLUSH_LOG);
|
||||
close(fd);
|
||||
return 0;
|
||||
} else {
|
||||
printf("Usage: %s [-c] [-h]\n", argv[0]);
|
||||
printf("Options:\n");
|
||||
printf(" -c Clear the log\n");
|
||||
printf(" -h Show this help\n");
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
fd = open("/dev/log_main", O_RDONLY);
|
||||
if (fd < 0) {
|
||||
perror("Error opening /dev/log_main\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
int pos;
|
||||
while (1) {
|
||||
numread = read(fd, &entry, LOGGER_ENTRY_MAX_LEN);
|
||||
if (numread < 1) {
|
||||
perror("Error: ");
|
||||
strerror(errno);
|
||||
return -1;
|
||||
}
|
||||
|
||||
char *tag = entry.msg;
|
||||
char *prog = entry.msg + 1;
|
||||
char *msg = entry.msg + strlen(entry.msg) + 1;
|
||||
char tagbyte;
|
||||
|
||||
switch (*tag) {
|
||||
case ANDROID_LOG_UNKNOWN:
|
||||
tagbyte = 'U';
|
||||
break;
|
||||
|
||||
case ANDROID_LOG_DEFAULT:
|
||||
tagbyte = '*';
|
||||
break;
|
||||
|
||||
case ANDROID_LOG_VERBOSE:
|
||||
tagbyte = 'V';
|
||||
break;
|
||||
|
||||
case ANDROID_LOG_DEBUG:
|
||||
tagbyte = 'D';
|
||||
break;
|
||||
|
||||
case ANDROID_LOG_INFO:
|
||||
tagbyte = 'I';
|
||||
break;
|
||||
|
||||
case ANDROID_LOG_WARN:
|
||||
tagbyte = 'W';
|
||||
break;
|
||||
|
||||
case ANDROID_LOG_ERROR:
|
||||
tagbyte = 'E';
|
||||
break;
|
||||
|
||||
case ANDROID_LOG_FATAL:
|
||||
tagbyte = 'F';
|
||||
break;
|
||||
|
||||
case ANDROID_LOG_SILENT:
|
||||
tagbyte = 'S';
|
||||
break;
|
||||
|
||||
default:
|
||||
tagbyte = '?';
|
||||
break;
|
||||
}
|
||||
|
||||
printf("%c/%s(%5d): %s", tagbyte, prog, entry.pid, msg);
|
||||
}
|
||||
}
|
||||
|
|
@ -4,9 +4,8 @@
|
|||
#
|
||||
################################################################################
|
||||
|
||||
MAVFWD_SITE_METHOD = git
|
||||
MAVFWD_SITE = https://github.com/openipc/mavfwd
|
||||
MAVFWD_VERSION = 70da7adbdbe36d371ca849c4a3bc3cadb54498d3
|
||||
MAVFWD_SITE = $(call github,openipc,mavfwd,$(MAVFWD_VERSION))
|
||||
MAVFWD_VERSION = HEAD
|
||||
|
||||
MAVFWD_LICENSE = MIT
|
||||
MAVFWD_LICENSE_FILES = LICENSE
|
||||
|
|
@ -14,15 +13,15 @@ MAVFWD_LICENSE_FILES = LICENSE
|
|||
MAVFWD_DEPENDENCIES = libevent-openipc
|
||||
|
||||
define MAVFWD_BUILD_CMDS
|
||||
(cd $(@D); $(TARGET_CC) -levent_core -s mavfwd.c -o mavfwd)
|
||||
$(TARGET_CC) $(@D)/mavfwd.c -o $(@D)/mavfwd -levent_core -s
|
||||
endef
|
||||
|
||||
define MAVFWD_INSTALL_TARGET_CMDS
|
||||
$(INSTALL) -m 755 -d $(TARGET_DIR)/usr/bin
|
||||
$(INSTALL) -m 0755 -D $(@D)/mavfwd $(TARGET_DIR)/usr/bin/mavfwd
|
||||
$(INSTALL) -m 755 -d $(TARGET_DIR)/usr/bin
|
||||
$(INSTALL) -m 755 -t $(TARGET_DIR)/usr/bin $(@D)/mavfwd
|
||||
|
||||
$(INSTALL) -m 755 -d $(TARGET_DIR)/usr/sbin
|
||||
cp $(MAVFWD_PKGDIR)/files/channels.sh $(TARGET_DIR)/usr/sbin
|
||||
$(INSTALL) -m 755 -d $(TARGET_DIR)/usr/sbin
|
||||
$(INSTALL) -m 755 -t $(TARGET_DIR)/usr/sbin $(MAVFWD_PKGDIR)/files/channels.sh
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
||||
|
|
|
|||
|
|
@ -0,0 +1,4 @@
|
|||
config BR2_PACKAGE_MSPOSD
|
||||
bool "msposd"
|
||||
help
|
||||
OpenIPC implementation of MSP Displayport OSD.
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
################################################################################
|
||||
#
|
||||
# msposd
|
||||
#
|
||||
################################################################################
|
||||
|
||||
MSPOSD_SITE = $(call github,openipc,msposd,$(MSPOSD_VERSION))
|
||||
MSPOSD_VERSION = HEAD
|
||||
|
||||
ifeq ($(OPENIPC_SOC_FAMILY),gk7205v200)
|
||||
MSPOSD_FAMILY = goke
|
||||
MSPOSD_OSDRV = $(GOKE_OSDRV_GK7205V200_PKGDIR)
|
||||
else ifeq ($(OPENIPC_SOC_FAMILY),hi3516ev200)
|
||||
MSPOSD_FAMILY = hisi
|
||||
MSPOSD_OSDRV = $(HISILICON_OSDRV_HI3516EV200_PKGDIR)
|
||||
else ifeq ($(OPENIPC_SOC_FAMILY),infinity6b0)
|
||||
MSPOSD_FAMILY = star6b0
|
||||
MSPOSD_OSDRV = $(SIGMASTAR_OSDRV_INFINITY6B0_PKGDIR)
|
||||
else
|
||||
MSPOSD_FAMILY = star6e
|
||||
MSPOSD_OSDRV = $(SIGMASTAR_OSDRV_INFINITY6E_PKGDIR)
|
||||
endif
|
||||
|
||||
define MSPOSD_BUILD_CMDS
|
||||
$(MAKE) CC=$(TARGET_CC) DRV=$(MSPOSD_OSDRV)/files/lib $(MSPOSD_FAMILY) OUTPUT=$(@D) -C $(@D)
|
||||
endef
|
||||
|
||||
define MSPOSD_INSTALL_TARGET_CMDS
|
||||
$(INSTALL) -m 755 -d $(TARGET_DIR)/usr/bin
|
||||
$(INSTALL) -m 755 -t $(TARGET_DIR)/usr/bin $(@D)/msposd
|
||||
|
||||
$(INSTALL) -m 755 -d $(TARGET_DIR)/usr/share/fonts
|
||||
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/share/fonts $(@D)/fonts/common/font.png
|
||||
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/share/fonts $(@D)/fonts/common/font_hd.png
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
||||
Binary file not shown.
|
|
@ -0,0 +1,5 @@
|
|||
config BR2_PACKAGE_WIFIBROADCAST_NG
|
||||
bool "wifibroadcast-ng"
|
||||
help
|
||||
Long-range packet radio link based on raw WiFi radio.
|
||||
https://github.com/svpcom/wfb-ng
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
#!/bin/sh
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
echo "Starting wifibroadcast..."
|
||||
wifibroadcast start
|
||||
;;
|
||||
|
||||
stop)
|
||||
echo "Stopping wifibroadcast..."
|
||||
wifibroadcast stop
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Usage: $0 {start|stop}"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
|
@ -0,0 +1 @@
|
|||
ЛЗэn<EFBFBD>Єj<EFBFBD><EFBFBD><EFBFBD> љ<C2A0>Ю+м<><D0BC>И GВ_Ђ<5F>Ќ{FФ<>a<EFBFBD>ћp<D19B>tzfш<ц@НkОЕВQSz<53>ЂtЂc
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
#!/bin/sh
|
||||
|
||||
finish() {
|
||||
touch /etc/system.ok
|
||||
echo "Restart system to apply fpv changes..."
|
||||
reboot
|
||||
}
|
||||
|
||||
sigmastar() {
|
||||
cli -s .isp.sensorConfig /etc/sensors/imx415_fpv.bin
|
||||
cli -s .isp.exposure 5
|
||||
cli -s .video0.codec h265
|
||||
cli -s .video0.size 1920x1080
|
||||
cli -s .video0.fps 90
|
||||
cli -s .video0.rcMode cbr
|
||||
cli -s .jpeg.enabled false
|
||||
cli -s .outgoing.enabled true
|
||||
cli -s .outgoing.server udp://0.0.0.0:5600
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
ssc33x)
|
||||
sigmastar
|
||||
finish
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Usage: $0 {ssc33x}"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
# Broadcast
|
||||
wlan=wlan0
|
||||
region=00
|
||||
channel=161
|
||||
txpower=1
|
||||
driver_txpower_override=1
|
||||
bandwidth=20
|
||||
stbc=0
|
||||
ldpc=0
|
||||
mcs_index=1
|
||||
stream=0
|
||||
link_id=7669206
|
||||
rcv_buf=456000
|
||||
fec_k=8
|
||||
fec_n=12
|
||||
|
||||
# Telemetry
|
||||
router=2
|
||||
serial=/dev/ttyS2
|
||||
baud=115200
|
||||
channels=8
|
||||
fps=20
|
||||
port_rx=14551
|
||||
port_tx=14555
|
||||
|
|
@ -0,0 +1,111 @@
|
|||
#!/bin/sh
|
||||
wfb_soc=$(ipcinfo -c)
|
||||
wfb_key=/etc/drone.key
|
||||
|
||||
if [ -e /etc/wfb.conf ]; then
|
||||
. /etc/wfb.conf
|
||||
else
|
||||
echo "Configuration file not found"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
load_modules() {
|
||||
for card in $(lsusb | awk '{print $6}' | sort | uniq); do
|
||||
case "$card" in
|
||||
"0bda:8812" | "0bda:881a" | "0b05:17d2" | "2357:0101" | "2604:0012")
|
||||
driver="88XXau"
|
||||
modprobe 88XXau rtw_tx_pwr_idx_override="$driver_txpower_override"
|
||||
;;
|
||||
|
||||
"0bda:a81a")
|
||||
driver="8812eu"
|
||||
modprobe 8812eu rtw_regd_src=1 rtw_tx_pwr_by_rate=0 rtw_tx_pwr_lmt_enable=0
|
||||
;;
|
||||
|
||||
"0bda:f72b")
|
||||
driver="8733bu"
|
||||
modprobe 8733bu rtw_regd_src=1 rtw_tx_pwr_by_rate=0 rtw_tx_pwr_lmt_enable=0
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ -z "$driver" ]; then
|
||||
echo "Wireless module not detected, check the usb connection"
|
||||
exit 1
|
||||
else
|
||||
echo "Detected driver: $driver"
|
||||
fi
|
||||
}
|
||||
|
||||
load_interface() {
|
||||
ifconfig "$wlan" up
|
||||
iwconfig "$wlan" mode monitor
|
||||
|
||||
if [ "$driver" = "8812eu" ] || [ "$driver" = "8733bu" ]; then
|
||||
iw dev "$wlan" set txpower fixed $((driver_txpower_override * 50))
|
||||
fi
|
||||
|
||||
iw reg set "$region"
|
||||
iwconfig "$wlan" channel "$channel"
|
||||
}
|
||||
|
||||
start_wfb() {
|
||||
echo "Starting wfb_tx"
|
||||
wfb_tx -p "$stream" -R "$rcv_buf" -K "$wfb_key" -B "$bandwidth" -M "$mcs_index" -C 8000 \
|
||||
-S "$stbc" -L "$ldpc" -k "$fec_k" -n "$fec_n" -i "$link_id" "$wlan" &> /dev/null &
|
||||
}
|
||||
|
||||
start_tunnel() {
|
||||
echo "Starting wfb_tun"
|
||||
wfb_rx -p 160 -u 5800 -K "$wfb_key" -i "$link_id" "$wlan" &> /dev/null &
|
||||
wfb_tx -p 32 -u 5801 -K "$wfb_key" -M "$mcs_index" -S "$stbc" -L "$ldpc" \
|
||||
-k "$fec_k" -n "$fec_n" -i "$link_id" "$wlan" &> /dev/null &
|
||||
wfb_tun -a 10.5.0.10/24 > /dev/null &
|
||||
}
|
||||
|
||||
start_telemetry() {
|
||||
if [ "$wfb_soc" = "gk7205v200" ]; then
|
||||
devmem 0x120C0010 32 0x1E04
|
||||
elif [ "$wfb_soc" = "ssc33x" ]; then
|
||||
devmem 0x1F207890 16 0x8
|
||||
fi
|
||||
|
||||
if [ "$router" -eq 2 ]; then
|
||||
echo "Starting msposd"
|
||||
msposd --master "$serial" --baudrate "$baud" --channels "$channels" \
|
||||
-osd -r "$fps" --ahi 0 --out 10.5.0.1:"$port_tx" > /dev/null &
|
||||
else
|
||||
echo "Starting mavfwd"
|
||||
mavfwd --master "$serial" --baudrate "$baud" --channels "$channels" -p 100 -t \
|
||||
-a 15 --in 0.0.0.0:"$port_rx" --out 10.5.0.1:"$port_tx" > /dev/null &
|
||||
fi
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
if [ ! -e /etc/system.ok ]; then
|
||||
echo "Preparing system tweaks for $wfb_soc..."
|
||||
tweaksys "$wfb_soc"
|
||||
fi
|
||||
|
||||
load_modules
|
||||
load_interface
|
||||
|
||||
start_wfb
|
||||
start_tunnel
|
||||
start_telemetry
|
||||
;;
|
||||
|
||||
stop)
|
||||
killall -q wfb_rx
|
||||
killall -q wfb_tx
|
||||
killall -q wfb_tun
|
||||
killall -q msposd
|
||||
killall -q mavfwd
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Usage: $0 {start|stop}"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
################################################################################
|
||||
#
|
||||
# wifibroadcast-ng
|
||||
#
|
||||
################################################################################
|
||||
|
||||
WIFIBROADCAST_NG_VERSION = 3a053040442174e6c1ce76866c6da4b12c19dbb4
|
||||
WIFIBROADCAST_NG_SITE = $(call github,svpcom,wfb-ng,$(WIFIBROADCAST_NG_VERSION))
|
||||
WIFIBROADCAST_NG_LICENSE = GPL-3.0
|
||||
|
||||
WIFIBROADCAST_NG_DEPENDENCIES += libpcap libsodium iw
|
||||
|
||||
define WIFIBROADCAST_NG_BUILD_CMDS
|
||||
$(MAKE) CC=$(TARGET_CC) CXX=$(TARGET_CXX) LDFLAGS=-s -C $(@D) all_bin
|
||||
endef
|
||||
|
||||
define WIFIBROADCAST_NG_INSTALL_TARGET_CMDS
|
||||
$(INSTALL) -m 755 -d $(TARGET_DIR)/etc
|
||||
$(INSTALL) -m 644 -t $(TARGET_DIR)/etc $(WIFIBROADCAST_NG_PKGDIR)/files/drone.key
|
||||
$(INSTALL) -m 644 -t $(TARGET_DIR)/etc $(WIFIBROADCAST_NG_PKGDIR)/files/wfb.conf
|
||||
|
||||
$(INSTALL) -m 755 -d $(TARGET_DIR)/usr/bin
|
||||
$(INSTALL) -m 755 -t $(TARGET_DIR)/usr/bin $(@D)/wfb_rx
|
||||
$(INSTALL) -m 755 -t $(TARGET_DIR)/usr/bin $(@D)/wfb_tx
|
||||
$(INSTALL) -m 755 -t $(TARGET_DIR)/usr/bin $(@D)/wfb_tun
|
||||
$(INSTALL) -m 755 -t $(TARGET_DIR)/usr/bin $(WIFIBROADCAST_NG_PKGDIR)/files/wifibroadcast
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
||||
|
|
@ -116,6 +116,18 @@ start_gs_wfb() {
|
|||
wfb_rx -c "$udp_addr" -u "$udp_port" -p "$stream" -K "$keydir/$unit.key" -i "$link_id" "$wlan" > /dev/null &
|
||||
}
|
||||
|
||||
start_tunnel_wfb() {
|
||||
if [ ! -e /usr/bin/tunnel_rx ] || [ ! -e /usr/bin/tunnel_tx ]; then
|
||||
ln -fs /usr/bin/wfb_rx /usr/bin/tunnel_rx
|
||||
ln -fs /usr/bin/wfb_tx /usr/bin/tunnel_tx
|
||||
fi
|
||||
|
||||
tunnel_rx -p 160 -u 5800 -K "$keydir/$unit.key" -i "$link_id" "$wlan" > /dev/null &
|
||||
tunnel_tx -p 32 -u 5801 -K "$keydir/$unit.key" -M "$mcs_index" -S "$stbc" -L "$ldpc" \
|
||||
-k "$fec_k" -n "$fec_n" -i "$link_id" "$wlan" > /dev/null &
|
||||
wfb_tun -a 10.5.0.10/24 > /dev/null &
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
if [ "$daemon" -eq 1 ]; then
|
||||
|
|
@ -132,14 +144,18 @@ case "$1" in
|
|||
|
||||
if [ "$telemetry" = "true" ]; then
|
||||
if [ "$chip" = "gk7205v200" ]; then
|
||||
devmem 0x120c0010 32 0x1e04
|
||||
devmem 0x120C0010 32 0x1E04
|
||||
elif [ "$chip" = "ssc33x" ]; then
|
||||
devmem 0x1F207890 16 0x8
|
||||
fi
|
||||
telemetry start
|
||||
fi
|
||||
|
||||
if [ "$tunnel" = "true" ]; then
|
||||
start_tunnel_wfb
|
||||
fi
|
||||
else
|
||||
echo "Wifibroadcast service disabled in wfb.conf."
|
||||
echo "Wifibroadcast service disabled in wfb.conf"
|
||||
fi
|
||||
;;
|
||||
|
||||
|
|
@ -147,10 +163,16 @@ case "$1" in
|
|||
echo "Stopping wifibroadcast service..."
|
||||
killall -q wfb_tx
|
||||
killall -q wfb_rx
|
||||
killall -q telemetry_rx
|
||||
killall -q telemetry_tx
|
||||
killall -q mavlink-routerd
|
||||
killall -q mavfwd
|
||||
|
||||
if [ "$telemetry" = "true" ]; then
|
||||
telemetry stop
|
||||
fi
|
||||
|
||||
if [ "$tunnel" = "true" ]; then
|
||||
killall -q tunnel_rx
|
||||
killall -q tunnel_tx
|
||||
killall -q wfb_tun
|
||||
fi
|
||||
;;
|
||||
|
||||
*)
|
||||
|
|
|
|||
|
|
@ -4,8 +4,8 @@
|
|||
#
|
||||
################################################################################
|
||||
|
||||
WIFIBROADCAST_VERSION = 24.08.1
|
||||
WIFIBROADCAST_SITE = $(call github,svpcom,wfb-ng,wfb-ng-$(WIFIBROADCAST_VERSION))
|
||||
WIFIBROADCAST_VERSION = 3a053040442174e6c1ce76866c6da4b12c19dbb4
|
||||
WIFIBROADCAST_SITE = $(call github,svpcom,wfb-ng,$(WIFIBROADCAST_VERSION))
|
||||
WIFIBROADCAST_LICENSE = GPL-2.0
|
||||
|
||||
WIFIBROADCAST_UNIT = drone
|
||||
|
|
@ -15,35 +15,27 @@ endif
|
|||
|
||||
WIFIBROADCAST_DEPENDENCIES += libpcap libsodium iw
|
||||
|
||||
WIFIBROADCAST_MAKE_OPTS = \
|
||||
CC="$(TARGET_CC)" \
|
||||
CXX="$(TARGET_CXX)"
|
||||
|
||||
define WIFIBROADCAST_BUILD_CMDS
|
||||
$(MAKE) $(WIFIBROADCAST_MAKE_OPTS) -C $(@D) all_bin
|
||||
$(MAKE) CC=$(TARGET_CC) CXX=$(TARGET_CXX) LDFLAGS=-s -C $(@D) all_bin
|
||||
endef
|
||||
|
||||
define WIFIBROADCAST_INSTALL_TARGET_CMDS
|
||||
$(INSTALL) -m 0755 -D $(@D)/wfb_tx $(TARGET_DIR)/usr/bin
|
||||
$(INSTALL) -m 0755 -D $(@D)/wfb_tx_cmd $(TARGET_DIR)/usr/bin
|
||||
$(INSTALL) -m 0755 -D $(@D)/wfb_rx $(TARGET_DIR)/usr/bin
|
||||
$(INSTALL) -m 0755 -D $(@D)/wfb_keygen $(TARGET_DIR)/usr/bin
|
||||
|
||||
$(INSTALL) -m 755 -d $(TARGET_DIR)/etc
|
||||
cp $(WIFIBROADCAST_PKGDIR)/files/wfb_$(WIFIBROADCAST_UNIT).conf $(TARGET_DIR)/etc/wfb.conf
|
||||
$(INSTALL) -m 755 -d $(TARGET_DIR)/usr/bin
|
||||
cp $(WIFIBROADCAST_PKGDIR)/files/wifibroadcast $(TARGET_DIR)/usr/bin
|
||||
|
||||
$(INSTALL) -m 755 -d $(TARGET_DIR)/etc
|
||||
cp $(WIFIBROADCAST_PKGDIR)/files/$(WIFIBROADCAST_UNIT).key $(TARGET_DIR)/etc/$(WIFIBROADCAST_UNIT).key
|
||||
|
||||
$(INSTALL) -m 755 -d $(TARGET_DIR)/usr/bin
|
||||
cp $(WIFIBROADCAST_PKGDIR)/files/setmcs $(TARGET_DIR)/usr/bin
|
||||
$(INSTALL) -m 644 -D $(WIFIBROADCAST_PKGDIR)/files/$(WIFIBROADCAST_UNIT).key $(TARGET_DIR)/etc/$(WIFIBROADCAST_UNIT).key
|
||||
$(INSTALL) -m 644 -D $(WIFIBROADCAST_PKGDIR)/files/wfb_$(WIFIBROADCAST_UNIT).conf $(TARGET_DIR)/etc/wfb.conf
|
||||
|
||||
$(INSTALL) -m 755 -d $(TARGET_DIR)/lib/firmware/ath9k_htc
|
||||
cp $(WIFIBROADCAST_PKGDIR)/files/htc_9271.fw.1 $(TARGET_DIR)/lib/firmware/ath9k_htc
|
||||
$(INSTALL) -m 755 -d $(TARGET_DIR)/lib/firmware/ath9k_htc
|
||||
cp $(WIFIBROADCAST_PKGDIR)/files/htc_9271.fw.3 $(TARGET_DIR)/lib/firmware/ath9k_htc
|
||||
$(INSTALL) -m 644 -t $(TARGET_DIR)/lib/firmware/ath9k_htc $(WIFIBROADCAST_PKGDIR)/files/htc_9271.fw.1
|
||||
$(INSTALL) -m 644 -t $(TARGET_DIR)/lib/firmware/ath9k_htc $(WIFIBROADCAST_PKGDIR)/files/htc_9271.fw.3
|
||||
|
||||
$(INSTALL) -m 755 -d $(TARGET_DIR)/usr/bin
|
||||
$(INSTALL) -m 755 -t $(TARGET_DIR)/usr/bin $(@D)/wfb_rx
|
||||
$(INSTALL) -m 755 -t $(TARGET_DIR)/usr/bin $(@D)/wfb_tx
|
||||
$(INSTALL) -m 755 -t $(TARGET_DIR)/usr/bin $(@D)/wfb_tx_cmd
|
||||
$(INSTALL) -m 755 -t $(TARGET_DIR)/usr/bin $(@D)/wfb_keygen
|
||||
$(INSTALL) -m 755 -t $(TARGET_DIR)/usr/bin $(@D)/wfb_tun
|
||||
$(INSTALL) -m 755 -t $(TARGET_DIR)/usr/bin $(WIFIBROADCAST_PKGDIR)/files/setmcs
|
||||
$(INSTALL) -m 755 -t $(TARGET_DIR)/usr/bin $(WIFIBROADCAST_PKGDIR)/files/wifibroadcast
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -14,7 +14,6 @@
|
|||
/etc/sensors/iq/gc2053.ini
|
||||
/etc/sensors/iq/sc2232.ini
|
||||
/etc/sensors/iq/sc2335.ini
|
||||
/lib/modules/4.9.37/goke/gk7205v200_rgn.ko
|
||||
/lib/modules/4.9.37/goke/gk7205v200_jpege.ko
|
||||
/lib/modules/4.9.37/goke/gk7205v200_ive.ko
|
||||
/lib/modules/4.9.37/goke/gk7205v200_aio.ko
|
||||
|
|
|
|||
|
|
@ -13,7 +13,6 @@
|
|||
/etc/sensors/iq/gc2053.ini
|
||||
/etc/sensors/iq/sc2232.ini
|
||||
/etc/sensors/iq/sc2335.ini
|
||||
/lib/modules/4.9.37/extra/open_rgn.ko
|
||||
/lib/modules/4.9.37/extra/open_jpege.ko
|
||||
/lib/modules/4.9.37/extra/open_ive.ko
|
||||
/lib/modules/4.9.37/extra/open_aio.ko
|
||||
|
|
|
|||
Loading…
Reference in New Issue