Commit Graph

  • 34c6993842 Some fixes in the docs Oleg Kalachev 2026-05-10 02:33:03 +03:00
  • fa848e589e Use Serial1 for sbus on all platforms esp32-c3 Oleg Kalachev 2026-05-10 01:17:00 +03:00
  • bcacad7ff8 Use Serial1 for for rc on esp32-c3 Oleg Kalachev 2026-05-09 19:25:03 +03:00
  • 3e59688818 Add esp32-c3 build to ci Oleg Kalachev 2026-01-23 03:04:57 +03:00
  • b62f2f9427 Rename some wifi parameters for better alphabetical sort Oleg Kalachev 2026-05-09 17:55:55 +03:00
  • 7dfef17165 Add Ina Tix' build Oleg KalachevandMarina Tikhomirova 2026-05-09 17:49:59 +03:00
  • 8c8046676b Simplify port definition in Makefile Oleg Kalachev 2026-05-09 17:14:29 +03:00
  • 702ec9792e Some updates in troubleshooting article Oleg Kalachev 2026-05-09 15:57:25 +03:00
  • 06e2047097 Make motor testing signal 0.2 instead of full power Testing with full power is too dangerous and inconvenient. Oleg Kalachev 2026-05-08 00:53:19 +03:00
  • 87480476c2 Fix motors pwm frequency for esp32s3 etc in the docs Oleg Kalachev 2026-05-08 00:47:29 +03:00
  • 68271c508c Print firmware build date and time in sys command Oleg Kalachev 2026-05-08 00:31:51 +03:00
  • e81e84e7fc Some updates to docs Oleg Kalachev 2026-05-07 20:15:55 +03:00
  • 5f1a938d4f Fix imu rotation definition The X axis should be pointing to the mounting holes, not pins side. Oleg Kalachev 2026-05-07 19:54:16 +03:00
  • bd270db493 Reduce angle drift by adding level correction to the estimator Leverage a priori knowledge that the drone's average attitude is level. Explanation: https://t.me/opensourcequadcopter/158. Oleg Kalachev 2026-05-05 21:27:47 +03:00
  • 26b639dfbc Reduce angle drift adding level correction to the estimator Utilize a-priori knowledge that the overall average attitude of the flying drone is level. est-lvl Oleg Kalachev 2026-05-04 16:48:20 +03:00
  • dbf24ea611 Expose lpf alpha of rate pids to parameters Add parameters: CTL_R_RATE_D_A, CTL_P_RATE_D_A, CTL_Y_RATE_D_A. Oleg Kalachev 2026-05-03 15:04:16 +03:00
  • 08683d696d Some updates in the usage doc Oleg Kalachev 2026-05-01 15:26:59 +03:00
  • 9ca6841558 Exit auto mode when sticks moved only when mode switch is not configured Oleg Kalachev 2026-04-29 15:07:44 +03:00
  • 28da2d3c8e Fix in pyflix documentation pyflix@0.14 Oleg Kalachev 2026-04-28 20:46:49 +03:00
  • c6632ae6e4 Add info on setting flight modes using rc mode switch Oleg Kalachev 2026-04-28 20:43:52 +03:00
  • 35ca754583 Fix Vector::rotationVectorBetween implementation for parallel vectors Oleg Kalachev 2026-04-28 15:38:52 +03:00
  • 2ccda03573 Implement motors output desaturation So the drone continues stabilization on max thrust. Oleg Kalachev 2026-04-28 13:23:42 +03:00
  • 485a39e740 Disable wi-fi power save to improve responsiveness Oleg Kalachev 2026-04-27 16:46:36 +03:00
  • 9bffe5b52f Some fixes in docs Oleg Kalachev 2026-04-26 06:05:02 +03:00
  • d6a79d6c66 Pass acc data in mG in SCALED_IMU to comply with mavlink standard https://mavlink.io/en/messages/common.html#SCALED_IMU pyflix@0.13 Oleg Kalachev 2026-04-24 07:42:39 +03:00
  • 350a82bfed Minor fix Oleg Kalachev 2026-04-23 15:34:54 +03:00
  • 6e439859bc Move disabling brown-out code to power subsystem Oleg Kalachev 2026-04-23 15:06:07 +03:00
  • 835b2243e8 Minor fix in sys command String works with printf %s, but actually it's a UB. Oleg Kalachev 2026-04-23 07:25:59 +03:00
  • ed4e2d87d1 Fix imu command output Gyro field contained filtered gyro instead of scaled only gyro. Oleg Kalachev 2026-04-23 07:12:25 +03:00
  • 51cd5fc691 Implement battery voltage monitoring Add power subsystem. Add PWR_VOLT_PIN, PWR_VOLT_SCALE, PWR_VOLT_LPF_A parameters. Support BATTERY_STATUS mavlink messages streaming. Add pw cli command. Add voltage field to pyflix library. pyflix@0.12. Oleg Kalachev 2026-04-22 11:35:37 +03:00
  • b235825f3d Implement battery voltage monitoring Add power subsystem. Add PWR_VOLT_PIN, PWR_VOLT_SCALE, PWR_VOLT_LPF_A parameters. Support BATTERY_STATUS mavlink messages streaming. Add pw cli command. Add voltage field to pyflix library. voltage Oleg Kalachev 2026-04-21 05:18:52 +03:00
  • d8591ea2a9 Fix working with parameters in pyflix examples PITCH_P parameter was renamed to CTL_P_P Oleg Kalachev 2026-04-18 05:23:47 +03:00
  • c434107eaf Add parameter for configuring sbus pin number, disable sbus by default Oleg Kalachev 2026-03-27 00:56:34 +03:00
  • 814427dbfd Minor docs change Oleg Kalachev 2026-03-27 00:40:19 +03:00
  • 0730ceeffa Add new user builds Oleg Kalachev 2026-02-21 07:12:36 +03:00
  • a687303062 Make motor parameters apply without reboot Add callback to parameter definition to call after parameter is changed. Oleg Kalachev 2026-02-19 04:56:12 +03:00
  • b2daf2587f Minor parameters code simplifications readOnly is false by default INFINITY == INFINITY, so remove redundant check Oleg Kalachev 2026-02-19 02:59:38 +03:00
  • a8c25d8ac0 Minor updates to usage article 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
  • 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.golubtsovandOleg Kalachev 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 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 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