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_v2If you want to change other settings (e.g. use linear acceleration), you can run idf.py menuconfig in the project root directory.
idf.py menuconfigThen, build the project by running `idf.py build` in the project root directory.
```shell
idf.py buildTo flash an node, run idf.py flash monitor in the project root directory.
idf.py -p <PORT> flash monitorThe project is organized as follows:
componentssystem componentscomponents/appsapplications that runs with RTOScomponents/bleBluetooth Low Energy(BLE) componentscomponents/blinkfunctions to operate LEDcomponents/imuimu interfacecomponents/rest_controllerRESTful API controllercomponents/syssupporting modules for system
docsdocumentsincludeglobal headerslibcommon librarieslib/batterybatterylib/bno085bno085 librarylib/hi229hi229 librarylib/libtcptcp librarylib/libudpudp librarylib/ring_bufring buffer librarylib/spatialspatial math library
mainentrypoint of firmwarescriptshelper scriptstestsfunction 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] |
reboot, 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 |

