Commit Graph

  • a8c25d8ac0 Minor updates to usage article master Oleg Kalachev 2026-02-04 17:52:23 +03:00
  • 3e49d41986 Make rc channel numbers and calibration params use int instead of float As parameter subsystems supports int now, and int is much more natural here. Oleg Kalachev 2026-02-02 20:36:22 +03:00
  • 67430c7aac Several minor changes Oleg Kalachev 2026-02-02 18:46:36 +03:00
  • 3631743a29 Drop messages from another systems in pyflix We shouldn't pass messages where system id != our system id. This change may be useful when there are many drones in one network. Oleg Kalachev 2026-02-02 18:28:20 +03:00
  • f8f746b0cd Add level calibration level-calib Oleg Kalachev 2026-01-30 07:49:26 +03:00
  • 3dde380bb7 Add parameters for list of modes bound to rc switch Parameters: CTL_FLT_MODE_0, CTL_FLT_MODE_1, CTL_FLT_MODE_2. Also fix a bug with incorrect choosing the mode from controlMode. Oleg Kalachev 2026-01-27 16:38:20 +03:00
  • 377b21429b Fix error when launching the sim Also make the parameters WIFI_LOC_PORT and WIFI_REM_PORT work in the sim. Oleg Kalachev 2026-01-27 16:32:52 +03:00
  • 1ac443d6f8 Add a build by Arky Matsekh Oleg Kalachev 2026-01-27 15:17:58 +03:00
  • 6c41f65ef9 Apply motors configuration without reboot motor-config-interactive Oleg Kalachev 2026-01-27 09:56:39 +03:00
  • 964c0f7bc1 Make setting parameter in console printing actual parameter value. In some cases, it would not be equal to the requested value. Oleg Kalachev 2026-01-27 09:28:01 +03:00
  • 40bdaacedb Make motor subsystem configurable using parameters Motor pins: MOT_PIN_FL, MOT_PIN_FR, MOT_PIN_RL, MOT_PIN_RR. PWM configuration: MOT_PWM_FREQ, MOT_PWM_RES, MOT_PWM_STOP, MOT_PWM_MIN, MOT_PWM_MAX. MOT_PWM_MAX = -1 chooses duty cycle mode for brushed motors (default). Oleg Kalachev 2026-01-27 08:40:52 +03:00
  • 7d74f3d5cd Minor docs fixes Oleg Kalachev 2026-01-27 07:21:21 +03:00
  • 9fd35ba361 Simplify lpf filter code Begin with zero instead of the initializing value, as the latter doesn't make much sense in practice, but complicates the code much. Oleg Kalachev 2026-01-24 09:43:46 +03:00
  • ca50f75576 Various minor fixes Oleg Kalachev 2026-01-24 09:34:16 +03:00
  • e47a31f981 Fix mavlink parameter set acknowledgement value If the parameter is integer the acknowledgement should contain the rounded value. Oleg Kalachev 2026-01-24 09:32:49 +03:00
  • 7ad3022798 Add parameter for configuring gyro bias lpf + reset the filter on reset command Oleg Kalachev 2026-01-24 09:31:32 +03:00
  • 2308bd4d8f Use Serial1 for for rc on esp32-c3 esp32-c3 Oleg Kalachev 2026-01-23 03:18:41 +03:00
  • 8153644578 Add esp32-c3 build to ci Oleg Kalachev 2026-01-23 03:04:57 +03:00
  • 5b654e4d8e Update ESP32-Core to 3.3.6 Oleg Kalachev 2026-01-23 02:41:43 +03:00
  • cf10ec6161 Update MAVLink-Arduino to 2.0.16 Oleg Kalachev 2026-01-23 01:11:35 +03:00
  • 6d01cd2e79 Make failsafe configurable using parameters SF_RC_LOSS_TIME - time without rc to activate failsafe. SD_DESCEND_TIME - total time to decrease the throttle to zero. Make controlTime nan on the start to simplify the logic. Oleg Kalachev 2026-01-22 23:57:52 +03:00
  • 0abb18c616 Make parameter names case-insensitive + minor fix Oleg Kalachev 2026-01-22 23:11:47 +03:00
  • 30326a5662 Add parameters for configuring the mavlink subsystem MAV_SYS_ID - mavlink system id. MAV_RATE_SLOW - rate of slow telemetry (e. g. heartbeats). MAV_RATE_FAST - rate of fast telemetry (e. g. attitude, imu data). Oleg Kalachev 2026-01-22 23:04:45 +03:00
  • dd3575174b Add wifi configuration using parameters and cli Add console commands to setup wifi. Add a parameter for choosing between STA and AP mode. Add parameters for udp ports. Remove WIFI_ENABLED macro. Oleg Kalachev 2026-01-22 22:58:43 +03:00
  • c0f3301da4 Support integer parameters in addition to floats The variable pointer is stored as a union field. If .integer field is true, then integer pointer should be used. Interfaces to parameters (cli and mavlink) keep working using floats. Setting a non-finite value to int parameter will cause an error. .value field is renamed to .cache. Oleg Kalachev 2026-01-22 22:54:05 +03:00
  • a6bad3a69b Add log dir creation before log writing a.golubtsov 2026-01-22 10:49:28 +03:00
  • 8a12d1fa70 Add parameters for mavlink subsystem System ID, fast telemetry rate, slow telemetry rate. wifi-config Oleg Kalachev 2026-01-19 01:28:43 +03:00
  • a7cd6473fd Remove WIFI_ENABLED ci build Oleg Kalachev 2026-01-19 01:09:40 +03:00
  • 5960e85a74 Don't send param_ack if parameter is not set Oleg Kalachev 2026-01-19 01:08:29 +03:00
  • cef1834ea3 Implement wi-fi configuration Add console commands to setup wi-fi Add parameter for choosing between STA and AP mode. Add parameter for udp ports. Remove WIFI_ENABLED macro. Oleg Kalachev 2026-01-19 00:53:36 +03:00
  • 6548ae5708 Add possibility to use int variables as parameters In addition to floats. Oleg Kalachev 2026-01-18 21:24:44 +03:00
  • 9a9bd07251 Add correct attitude estimation video to the usage article Oleg Kalachev 2026-01-15 23:46:23 +03:00
  • 28f5855a57 Re-arrange control.ino declarations to make a bit more sensible So the control command is above the PID controllers. Oleg Kalachev 2026-01-13 17:43:53 +03:00
  • 7e24ee30f7 Documentation and book updates Improve the main list of features. Use lowercase imu variable for consistency with the firmware code. Minor fixes. Oleg Kalachev 2026-01-13 17:26:40 +03:00
  • 385226bc97 Add sources to the simulator using cmake instead of include cpp Oleg Kalachev 2026-01-09 17:01:14 +03:00
  • e7e57d1020 Fix Oleg Kalachev 2026-01-09 09:46:56 +03:00
  • 213b9788a9 Fixes Oleg Kalachev 2026-01-09 09:45:23 +03:00
  • 69fb5d30f6 Merge branch 'master' into cpp Oleg Kalachev 2026-01-09 09:41:31 +03:00
  • 2a8faf5759 Fix logo svg slightly Oleg Kalachev 2026-01-08 19:45:08 +03:00
  • f4e58a652a Add project logo v1.2 Oleg Kalachev 2026-01-08 17:58:59 +03:00
  • 6c46328da1 Minor doc fixes Oleg Kalachev 2026-01-04 15:01:53 +03:00
  • c8e5e08b03 Move all global variable declarations to the appropriate subsystems As it makes the subsystems code easier to understand. Declare the most used variables in main sketch file as forward declarations. Make all control input zero by default (except controlMode). Minor changes. Oleg Kalachev 2026-01-03 13:28:18 +03:00
  • a5e3dfcf69 Some updates to the docs Oleg Kalachev 2026-01-03 12:18:47 +03:00
  • d6e8be0c05 Add parameters for easier IMU orientation definition Oleg Kalachev 2025-12-26 21:14:15 +03:00
  • 0908674a60 Add level calibration imu-rot Oleg Kalachev 2025-12-26 11:29:12 +03:00
  • 13a7e67b92 Add parameters for IMU orientation definition Oleg Kalachev 2025-12-26 06:29:19 +03:00
  • 68d16855df Add motors rotation diagram to usage article Oleg Kalachev 2025-12-25 07:22:09 +03:00
  • 0547ea548b Add parameters for acc weight and rates lpf alpha Oleg Kalachev 2025-12-24 05:43:55 +03:00
  • c02dba6812 Rename gyroCalibrationFilter to gyroBiasFilter Which seems a better name Oleg Kalachev 2025-12-24 05:36:43 +03:00
  • f1dc4a0400 Updates to user builds article Oleg Kalachev 2025-12-17 02:21:51 +03:00
  • 158827ac55 Add new user builds, add school 548 course overview + minor doc fixes. Oleg Kalachev 2025-12-13 21:09:33 +03:00
  • 36ca30c3e4 Minor docs fix Oleg Kalachev 2025-11-27 18:34:32 +03:00
  • 48711b55e1 Add tip about CNT_TILT_MAX parameter to the simulator article Oleg Kalachev 2025-11-26 17:34:08 +03:00
  • 4d583185a9 Rename manual mode to raw mode Make it callable from the console. Increase the coefficient. Corresponding change in pyflix. pyflix@0.11. Oleg Kalachev 2025-11-25 04:44:16 +03:00
  • d757ffa853 Move yaw dead zone handling from mavlink to control subsystem So yaw dead zone works the same for rc and mavlink. Oleg Kalachev 2025-11-22 05:11:46 +03:00
  • 5352386486 Minor updates to pyflix library, pyflix@0.10 Fixes to documentation. Improve logger format. Oleg Kalachev 2025-11-22 05:07:46 +03:00
  • 9b5872740f Add wifi cli command To show wi-fi info. Oleg Kalachev 2025-11-22 04:46:54 +03:00
  • 31dbdaf241 Group control parameters Also add IMU group to accelerometer calibration parameters. Oleg Kalachev 2025-11-19 01:30:02 +03:00
  • 3104410bb9 Group control parameters Also add IMU group to accelerometer calibration parameters. school-548 Oleg Kalachev 2025-11-19 01:30:02 +03:00
  • c3b818c2ae Try using installable Preferences library stm Oleg Kalachev 2025-11-18 18:19:02 +03:00
  • 531b3f4d04 Use analogWrite api instead of ledc Oleg Kalachev 2025-11-18 16:54:51 +03:00
  • 1551d096fc Merge changes from master Oleg Kalachev 2025-11-14 20:27:02 +03:00
  • f4b56262b1 Remove unneeded SERIAL_BAUDRATE define Oleg Kalachev 2025-11-14 13:46:02 +03:00
  • 49039f752d Refactor Wi-Fi log download Use MAVLink LOG_REQUEST_DATA and LOG_DATA for download log instead of console. Make Wi-Fi download default way of downloading the log. Make log command only print the header and log dump dump the log. Oleg Kalachev 2025-11-14 20:21:05 +03:00
  • 80f23ab016 Update log analysis documentation Oleg Kalachev 2025-11-14 20:17:34 +03:00
  • e6fb264499 Remove unneeded SERIAL_BAUDRATE define Oleg Kalachev 2025-11-14 13:46:02 +03:00
  • 348721acc9 Updates in documentation Fixes, updates, new illustrations. Oleg Kalachev 2025-11-10 20:13:39 +03:00
  • 4d0871b00b Updates in documentation Fixes, updates, new illustrations. Oleg Kalachev 2025-11-10 20:13:39 +03:00
  • 774144c430 Many updates to documentation Updates to main readme. Add much more info to usage article. Move simulator building to simulation's readme. Improve assembly article. Many fixes. Updates in diagrams. Oleg Kalachev 2025-11-06 13:46:25 +03:00
  • f1b993d719 Many updates to documentation Updates to main readme. Add much more info to usage article. Move simulator building to simulation's readme. Improve assembly article. Many fixes. Updates in diagrams. Oleg Kalachev 2025-11-06 13:46:25 +03:00
  • 0e6651ab82 Add Rate class for running the code at fixed rate Oleg Kalachev 2025-11-06 13:41:33 +03:00
  • 795b248b94 Adapt firmware for non-esp32 boards Oleg Kalachev 2025-11-04 13:47:41 +03:00
  • 77c4b5fc5b Test build for STM32 Oleg Kalachev 2025-11-04 13:42:05 +03:00
  • 2e7330d2f5 Refactor Wi-Fi log download Use MAVLink LOG_REQUEST_DATA and LOG_DATA for download log instead of console. Make Wi-Fi download default way of downloading the log. Make log command only print the header and log dump dump the log. Oleg Kalachev 2025-11-02 00:24:38 +03:00
  • e22df3ab01 Simplify rate limiter code Oleg Kalachev 2025-11-02 00:03:37 +03:00
  • 1a017ccb97 Keep only one floating point version of map function Two variants are redundant Oleg Kalachev 2025-11-01 23:55:55 +03:00
  • 8484854576 Keep only one floating point version of map function Two variants are redundant Oleg Kalachev 2025-11-01 23:55:55 +03:00
  • b9d5624f30 Add some excludes to sloc Oleg Kalachev 2025-10-29 03:35:31 +03:00
  • 205270b8ec Add Rate class for running the code at fixed rate Oleg Kalachev 2025-10-29 03:25:05 +03:00
  • f1bedb2b10 Count sloc in Actions Oleg Kalachev 2025-10-29 02:20:50 +03:00
  • 94fe93020d Remove additional url to install esp32-core from arduino-cli config remove-esp-url Oleg Kalachev 2025-10-22 22:00:26 +03:00
  • 7170b20d1d Simplify command for command handling Oleg Kalachev 2025-10-21 19:31:38 +03:00
  • dc9aed113b Minor code fixes Oleg Kalachev 2025-10-21 19:32:09 +03:00
  • 08b6123eb7 Fixes to troubleshooting Oleg Kalachev 2025-10-21 19:22:19 +03:00
  • 1a8b63ee04 Send only mavlink heartbeats until connected Oleg Kalachev 2025-10-03 07:08:17 +03:00
  • 46d1749a8c Minor code fixes Oleg Kalachev 2025-10-21 19:32:09 +03:00
  • 66fb7a13c3 Simplify command for command handling Oleg Kalachev 2025-10-21 19:31:38 +03:00
  • cfef3b9c36 Fixes to troubleshooting Oleg Kalachev 2025-10-21 19:22:19 +03:00
  • e59a190c1c Fix Oleg Kalachev 2025-10-21 18:41:58 +03:00
  • 207c0e41f7 Add parameters to config.h Oleg Kalachev 2025-10-21 18:38:51 +03:00
  • d7d79ff03f Make .cpp style version compile Oleg Kalachev 2025-10-21 18:31:54 +03:00
  • 6725f1d3de Change source files type from ino to cpp Oleg Kalachev 2025-10-20 23:06:13 +03:00
  • 8c49a40516 Skip attitude/rate control if thrustTarget is ineffective To prevent i term windup. Oleg Kalachev 2025-10-20 23:01:17 +03:00
  • ca595edce5 Refactor PID control to simplify the code and modifications Each PID uses its internal dt, so may be various contexts with different rate. PID has max dt, so no need to reset explicitly. Oleg Kalachev 2025-10-20 22:54:18 +03:00
  • d06eb2a1aa Quaternion::fromBetweenVectors: pass u and v as const references (#21) KiraFlux 2025-10-19 10:17:38 +03:00
  • e50a9d5fea Revert t variable type to float instead of double For the sake of simplicity and consistency. Oleg Kalachev 2025-10-18 12:28:01 +03:00
  • ebac78dc0f Minor change Oleg Kalachev 2025-10-17 19:22:48 +03:00
  • 186cf88d84 Add generic Delay filter Oleg Kalachev 2025-10-17 19:19:27 +03:00
  • 253aae2220 Lowercase imu and rc variables To make it more obvious these are variables, not classes. Oleg Kalachev 2025-10-17 19:02:46 +03:00
  • 6f0964fac4 Rename failsafe.ino to safety.ino To aggregate all the safety related functionality. Oleg Kalachev 2025-10-17 01:09:23 +03:00