How is AppWeb built and loaded to the SV?

I’ve been looking at docs and such and don’t see info on how to modify the AppWeb firmware. Is it part of another firmware? Is it possible to make development changes to AppWeb and only upload that?

Scott, the web server code and associated files is within the Sonix source code: Sonix/app/dashcam/src/main_flow/ArduPilot/web_server directory.

It takes advantage of CORS by the way, so that it’s possible to do modifications on the machine running the client without downloading the new firmware each time you test a change. See files/js/cors.js for instance.This is undocumented as far as I know, will probably be but hard to tell when.

2 Likes

K. I’m trying to build Sonix and I get this error. I’ve followed the Readme.md but it has the part that talks about installing i386 packages, but the command given doesn’t work. says Package libc6:i386 is not available, but is referred to by another package. I’m a little fresh when it comes to unique linux setups

'#echo "sn98671"
make -C /home/user/Sonix/kernel/platform install INSTALL_DIR=/home/user/Sonix/kernel/platform/target OBJ_DIR=/home/user/Sonix/obj/normal/kernel/platform
make -C /home/user/Sonix/kernel/platform/src install INSTALL_DIR=/home/user/Sonix/kernel/platform/target OBJ_DIR=/home/user/Sonix/obj/normal/kernel/platform
[ -d “/home/user/Sonix/kernel/platform/target/include” ] || mkdir -p /home/user/Sonix/kernel/platform/target/include
cp -f sn9866x/register.h /home/user/Sonix/kernel/platform/target/include
if [ -d /home/user/Sonix/kernel/platform/target ]; then
ln -sf /home/user/Sonix/kernel/platform/target/include/* /home/user/Sonix/include/normal/kernel;
ln -sf /home/user/Sonix/kernel/platform/target/lib/* /home/user/Sonix/lib/normal/kernel;
fi
make -C /home/user/Sonix/kernel/freertos-8.2.0 all OBJ_DIR=/home/user/Sonix/obj/normal/kernel/freertos-8.2.0
make -C /home/user/Sonix/kernel/freertos-8.2.0/src all OBJ_DIR=/home/user/Sonix/obj/normal/kernel/freertos-8.2.0

tick rate hz

arm-linux-gcc -c -mcpu=arm926ej-s -Wall -Wno-parentheses -nostdinc -O2 -fomit-frame-pointer -lgcc -g -I/home/user/Sonix/include/normal/middleware/libmid_nonstdc -I/home/user/Sonix/kernel/freertos-8.2.0/src/include -I/home/user/Sonix/kernel/freertos-8.2.0/src/…/…/…/middleware/lib_nonstd_c/src/include -I/home/user/Sonix/kernel/freertos-8.2.0/src/portable/gcc/sn986xx -I/home/user/Sonix/kernel/freertos-8.2.0/src/bootsel/ -I/home/user/Sonix/kernel/freertos-8.2.0/src/…/…/platform/src/sn9866x /home/user/Sonix/kernel/freertos-8.2.0/src/queue.c -o /home/user/Sonix/obj/normal/kernel/freertos-8.2.0/queue.o
/home/user/Sonix/tool/crosstool-4.5.2/bin/arm-linux-gcc: 1: /home/user/Sonix/tool/crosstool-4.5.2/bin/arm-linux-gcc: Syntax error: “(” unexpected
Makefile:96: recipe for target ‘/home/user/Sonix/obj/normal/kernel/freertos-8.2.0/queue.o’ failed
make[2]: *** [/home/user/Sonix/obj/normal/kernel/freertos-8.2.0/queue.o] Error 2
Makefile:9: recipe for target ‘all’ failed
make[1]: *** [all] Error 2
Makefile.mod:29: recipe for target ‘kernel’ failed
make: *** [kernel] Error 2

bump, anyone have an idea on this?

What operating system are you trying to build this on?

It’s Ubuntu inside windows subsystem for Linux. Most of the build steps are working but I’m thinking the issue is I don’t have that library…but I don’t know where to find it. I can’t find it on Google

It’s Ubuntu inside windows subsystem for Linux. Most of the build steps are

OK, that’s what I’d call “brave” :slight_smile:

That syntax error makes me think this isn’t a library issue; my current
guess is some sort of shell incompatability. Need to inspect the input
file which is giving the syntax error - if you can locate that and have
a look that would be good.

I think I might put together a Vagrant machine definition suitable for
building the Sonix FW.

Yeah, I totally agree that it’s kind of a unique set up. The whole purpose of Microsoft putting that subsystem in there is for this exact purpose. For developers to develop in Windows on the Linux platform. So I’d like to believe I should be able to get it working. Do you think it might be a inconsistent Line Feed character type thing? Once I have an opportunity to sit down for a moment and my kids aren’t chasing me around I’ll try to look through the file and see if there’s anything that is obvious

Hate to say this, but WSL doesn’t support 32-bit (and doesn’t look it ever will) so no chance to compile on it.

On windows x64 your best bet at this time is a virtual machine, compilation works fine with VirtualBox and Ubuntu (with libc6:i386 and zlib1g:i386 library packages).

Well that stinks. Ok thanks. I’ll start over on my environment lol