This is the firmware for RFMarkIt project, which is a project for a active marker system for motion capture / 6DOF tracking.
For more details, visit our website
First, setup esp-idf environment(v4.4.4) according to the official guide here
Now, you need to choose from hardware v1.0 and v2.0. v1.0 uses esp32 and hi229, while v2.0 uses esp32s3 and bno085
make set_hardware_v1
make set_hardware_v2
If you want to change other settings (e.g. use linear acceleration), you can run idf.py menuconfig
in the project root directory.
idf.py menuconfig
Then, build the project by running `idf.py build` in the project root directory.
```shell
idf.py build
To flash an node, run idf.py flash monitor
in the project root directory.
idf.py -p <PORT> flash monitor
The project is organized as follows:
components
system componentscomponents/apps
applications that runs with RTOScomponents/ble
Bluetooth Low Energy(BLE) componentscomponents/blink
functions to operate LEDcomponents/imu
imu interfacecomponents/rest_controller
RESTful API controllercomponents/sys
supporting modules for system
docs
documentsinclude
global headerslib
common librarieslib/battery
batterylib/bno085
bno085 librarylib/hi229
hi229 librarylib/libtcp
tcp librarylib/libudp
udp librarylib/ring_buf
ring buffer librarylib/spatial
spatial math library
main
entrypoint of firmwarescripts
helper scriptstests
function tests
The detailed guide can be found in docs/manual.md
The API can be used against http://<UNIT_IP>:18888/
endpiont
NEW API | PATH | Type | Function |
---|---|---|---|
system_info | /v1/system/info | [get] |
ping,id,ver,time |
system_power | /v1/system/power | [post] |
restart, shutdown, #version_shutdown |
system_upgrade | /v1/system/upgrade | [get|post] |
update |
system_selftest | /v1/system/selftest | [post] |
self_test |
system_power_mgmt | /v1/system/power_mgmt | [post] |
always_on, cancel_always_on |
nvs_variable | /v1/nvs/variable/ | [get|post] |
varset,varget |
imu_calibrate | /v1/imu/calibrate | [post] |
imu_cali_reset, imu_cali_acc, imu_cali_mag |
imu_toggle | /v1/imu/toggle | [post] |
imu_enable,imu_disable, |
imu_status | /v1/imu/status | [get] |
imu_status imu_imm |
imu_debug_toggle | /v1/imu/debug/toggle | [post] |
toggle debug mode and disconnect monitor |
imu_debug_socket | /v1/imu/debug/socket | [ws] |
imu_debug imu_setup |
blink_configure | /v1/blink/configure | [get|post] |
blink_set, blink_get, auto/manual |
blink_toggle | /v1/blink/toggle | [get|post] |
blink_start, blink_stop, blink_mute, also get led status |
operation_mode | /v1/operation/mode | [get|post] |
start stop |