Oleg Kalachev
5c81181221
Add threshold for rc sticks move for quitting auto mode
2026-08-02 01:58:16 +03:00
Oleg Kalachev
1ae85ff118
Add argument to motor testing commands for specifying thrust
2026-07-02 22:22:33 +03:00
Oleg Kalachev
26a0dd65be
Minor fixes and updates
2026-06-30 12:19:29 +03:00
Oleg Kalachev
9d439afd80
Store only changed parameters in flash instead of all
...
Rationale:
1. Parameters NVS storage is limited and storing unchanged parameters is wasteful.
2. This allows changing parameters in the code without having to erase the flash storage.
3. Updating the firmware version may change the parameter defaults.
2026-06-28 17:21:07 +03:00
Oleg Kalachev
64b21a3a6b
Show default parameter values in p command output
...
Also move float comparing logic to a distinct util function.
2026-06-24 06:42:09 +03:00
Oleg Kalachev
518abf1555
Simplify rc code
...
Utilize the new method for getting channel values.
2026-06-14 04:45:42 +03:00
Oleg Kalachev
52b74afba6
Bring back espnow tx buffering keeping resends disabled
...
Buffering is needed for sending large prints, otherwise the espnow internal buffer overflows.
Make onSent always think there was success send, so there won't be any resends.
Print lost espnow packets count on wifi console command.
2026-06-09 03:23:30 +03:00
Oleg Kalachev
0ca2473655
Make each mavlink message rate configured separately
...
Add parameters:
* MAV_RATE_ATT - ATTITUDE_QUATERNION rate.
* MAV_RATE_RC - RC_CHANNELS_RAW rate.
* MAV_RATE_MOT - ACTUATOR_CONTROL_TARGET rate.
* MAV_RATE_IMU - SCALED_IMU rate.
2026-06-09 02:59:10 +03:00
Oleg Kalachev
b4c2fe3988
Print total RAM in sys command
2026-06-09 02:49:39 +03:00
Oleg Kalachev
e51b47b798
Add command for setting the wifi mode easier
2026-06-09 02:44:09 +03:00
Oleg Kalachev
71abe1bcdb
Minor changes
...
Simplify the code, print imu temperature
2026-06-09 02:25:20 +03:00
Oleg Kalachev
0f2e384ce6
Don't apply level correction on idle thrust
2026-06-09 02:12:27 +03:00
Oleg Kalachev
1fafc27b39
Make it possible to unassign motor pin using -1 parameter value
2026-05-30 16:57:27 +03:00
Oleg Kalachev
faca48ced3
Replace ps and psq commands with st command + minor changes
...
Re-arrange commands order.
Make command parser consider \r in addition to \n.
2026-05-30 16:51:15 +03:00
Oleg Kalachev
59f9528d34
Increase buffer for print, make sys output more correct
...
usStackHighWaterMark is not stack size, it's the minimum stack size
2026-05-30 11:11:35 +03:00
Oleg Kalachev
b83c9b3845
Consider mavlink connected only when the gcs message is parsed
2026-05-28 18:41:34 +03:00
Oleg Kalachev
2f4b1423e6
Typo and minor code style changes
2026-05-28 18:39:44 +03:00
Oleg Kalachev
a294883dea
Make p command show all parameters starting with the arg
2026-05-27 13:58:51 +03:00
Oleg Kalachev
cdfba72a0b
Fix simulator run
...
Add missing extern variables.
Fix warning.
2026-05-27 11:03:50 +03:00
Oleg Kalachev
91173d06c9
Various minor changes
2026-05-22 08:03:46 +03:00
Oleg Kalachev and GitHub
fdcc9533b3
Implement ESP-NOW support ( #40 )
2026-05-21 10:48:31 +03:00
Oleg Kalachev
bd2b1bd5de
Improve voltage measurement
...
Apply PWM_VOLT_PIN without reboot.
Check if the voltage pin can be used with ADC when setting up.
Set voltage to NAN, when it's unknown (including pyflix).
pyflix@0.15 .
Don't send BATTERY_STATUS when voltage is unknown.
Add dummy voltage to the simulator.
2026-05-18 00:30:42 +03:00
Oleg Kalachev
3816ae376f
Bring back initializing the lpf with the first input value
...
It's much better for voltage measuring and slightly better for gyro bias estimation.
2026-05-17 06:21:13 +03:00
Oleg Kalachev
e53051a349
Fix console command parsing
2026-05-13 06:00:51 +03:00
Oleg Kalachev
f8a9f1f838
Remove reboot requirement when changing RC_RX_PIN
2026-05-13 01:27:01 +03:00
Oleg Kalachev
dd176180a7
Update help message
...
Remove 'welcome to', add copyright and repo link.
2026-05-12 17:50:28 +03:00
Oleg Kalachev
48c33c7050
Fix and improve wifi subsystem
...
Fix a fault when wifi is disabled (udp can't be used without wifi).
Print RSSI and channel in wifi command.
2026-05-10 22:39:34 +03:00
Oleg Kalachev
35e94f6ea6
Support ESP32-C3
...
User Serial1 for rc instead of Serial2, as ESP32-C3 has only 2 Serials.
Add CI build for ESP32-C3.
2026-05-10 21:07:20 +03:00
Oleg Kalachev
1f48e379e3
Improve the rc calibration code
...
More convenient steps order.
Improve the readability a bit.
2026-05-10 19:05:27 +03:00
Oleg Kalachev
b62f2f9427
Rename some wifi parameters for better alphabetical sort
2026-05-09 17:55:55 +03:00
Oleg Kalachev
06e2047097
Make motor testing signal 0.2 instead of full power
...
Testing with full power is too dangerous and inconvenient.
2026-05-08 00:53:19 +03:00
Oleg Kalachev
68271c508c
Print firmware build date and time in sys command
2026-05-08 00:31:51 +03:00
Oleg Kalachev
5f1a938d4f
Fix imu rotation definition
...
The X axis should be pointing to the mounting holes, not pins side.
2026-05-07 19:54:16 +03:00
Oleg Kalachev
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 .
2026-05-05 21:27:47 +03:00
Oleg Kalachev
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.
2026-05-03 15:04:16 +03:00
Oleg Kalachev
9ca6841558
Exit auto mode when sticks moved only when mode switch is not configured
2026-04-29 15:07:44 +03:00
Oleg Kalachev
35ca754583
Fix Vector::rotationVectorBetween implementation for parallel vectors
2026-04-28 15:38:52 +03:00
Oleg Kalachev
2ccda03573
Implement motors output desaturation
...
So the drone continues stabilization on max thrust.
2026-04-28 13:23:42 +03:00
Oleg Kalachev
485a39e740
Disable wi-fi power save to improve responsiveness
2026-04-27 16:46:36 +03:00
Oleg Kalachev
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
2026-04-24 07:42:39 +03:00
Oleg Kalachev
350a82bfed
Minor fix
2026-04-23 15:34:54 +03:00
Oleg Kalachev
6e439859bc
Move disabling brown-out code to power subsystem
2026-04-23 15:06:07 +03:00
Oleg Kalachev
835b2243e8
Minor fix in sys command
...
String works with printf %s, but actually it's a UB.
2026-04-23 07:25:59 +03:00
Oleg Kalachev
ed4e2d87d1
Fix imu command output
...
Gyro field contained filtered gyro instead of scaled only gyro.
2026-04-23 07:12:25 +03:00
Oleg Kalachev
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 .
2026-04-22 11:35:37 +03:00
Oleg Kalachev
c434107eaf
Add parameter for configuring sbus pin number, disable sbus by default
2026-03-27 00:56:34 +03:00
Oleg Kalachev
a687303062
Make motor parameters apply without reboot
...
Add callback to parameter definition to call after parameter is changed.
2026-02-19 04:56:12 +03:00
Oleg Kalachev
b2daf2587f
Minor parameters code simplifications
...
readOnly is false by default
INFINITY == INFINITY, so remove redundant check
2026-02-19 02:59:38 +03:00
Oleg Kalachev
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.
2026-02-02 20:36:22 +03:00
Oleg Kalachev
67430c7aac
Several minor changes
2026-02-02 18:46:36 +03:00