Oleg Kalachev
52819e403b
Major rework of rc subsystem
...
Implement channels mapping calibration.
Store mapping in parameters.
Get rid of `controls` array and store control inputs in `controlRoll`, `controlPitch`, ... variables.
Move `channels` variable to rc.ino, channels are not involved when controled using mavlink.
'Neutral' values are renamed to 'zero' - more precise naming.
`controlsTime` is renamed to `controlTime`.
Use unsigned values for channels.
Make channel values in simulation more alike to real world: unsigned values in range [1000, 2000].
Send RC_CHANNELS_RAW instead of RC_CHANNELS_SCALED via mavlink
Don't send channels data via mavlink if rc is not used
2025-07-14 12:01:29 +03:00
Oleg Kalachev
389cfb94ab
Add missing newlines to initialization prints
2025-06-19 13:19:00 +03:00
Oleg Kalachev
9c8c0e2578
Minor code updates
2025-05-15 09:22:17 +03:00
Oleg Kalachev
66a43ab246
Continuous gyro bias estimation ( #17 )
...
Estimate gyro bias continuously instead of calibrating the gyro at startup.
2025-03-29 12:21:40 +03:00
Oleg Kalachev
d60628e14d
Support MAVLink console
...
Implement receiving and sending SERIAL_CONTROL message
Use global defined print function instead of Serial.printf
2025-02-18 10:33:01 +03:00
Oleg Kalachev
149c62568f
Refactor CLI submodule
...
Move command parsing to doCommand
Parse command with splitString instead of stringToken
Trim commands
Move cliTestMotor to the bottom
Rename parseInput to handleInput, which is more clear
Move motor test function to motors.ino
2025-02-17 15:51:58 +03:00
Oleg Kalachev
3ed4143ba0
Simplify WIFI_ENABLED macro test
2025-02-08 02:41:09 +03:00
Oleg Kalachev
b19270f14e
Minor cleanups and fixes
2025-01-17 12:30:12 +03:00
Oleg Kalachev
70f5186c1b
Use double for storing time instead of float
...
Float precision may be not enough after some time of operating
2025-01-12 19:58:36 +03:00
Oleg Kalachev
9e4a2c5ffc
Move controlsTime variable to rc.ino
2025-01-11 00:28:31 +03:00
Oleg Kalachev
821e6b105e
Make channels definition to rc.ino
...
It's also planned to parametrize them later
2025-01-10 09:37:48 +03:00
Oleg Kalachev
698cc3d9b8
Global variables cleanups
...
Remove unused PID objects for cli
Move loopRate to time.ino
2025-01-10 07:10:30 +03:00
Oleg Kalachev
85172cdcc8
Make util module header instead of .ino-file
2025-01-10 06:51:14 +03:00
Oleg Kalachev
08b14d1d76
Minor cleanup
2025-01-10 06:04:32 +03:00
Oleg Kalachev
c8109af04f
Make ONE_G definition const and move to utils.ino
2025-01-09 11:24:40 +03:00
Oleg Kalachev
404ceed851
Make motor indexes definition const int and move them to motors.ino
...
Remove motor indexes definitions from flix.ino
Add motors.ino to simulation code and implement required mocks
2025-01-09 11:14:18 +03:00
Oleg Kalachev
8d7a4595f5
Rename flushParameters to more clear syncParameters
2024-12-26 01:14:26 +03:00
Oleg Kalachev
ae349fb73c
Implement parameters subsystem
...
* Unified parameters storage.
* Store parameters in flash on the hardware.
* Store parameters in text file in simulation.
* Work with parameters in command line.
* Support parameters in MAVLink for working with parameters in QGC.
2024-12-23 13:00:02 +03:00
Oleg Kalachev
7533a9cbfa
Move ONE_G definition to flix.ino
2024-12-23 02:37:03 +03:00
Oleg Kalachev
ea141f851f
Use 'loop rate' term instead of misleading 'loop frequency'
2024-12-04 07:00:00 +03:00
Oleg Kalachev
ec832d4e37
Implement RC fail-safe
2024-11-04 11:51:17 +03:00
Oleg Kalachev
f46460e53d
Make RC_CHANNELS=16 corresponding the number of SBUS channels
2024-10-23 09:28:09 +03:00
Oleg Kalachev
5613028678
Enable Wi-Fi by default
2024-10-23 09:24:58 +03:00
Oleg Kalachev
41a9a95747
Transfer gyro low pass filter to estimate.ino
...
Separate raw gyro data and filtered rates to different variables
2024-04-20 14:52:01 +03:00
Oleg Kalachev
646fa46f6b
Use FlixPeriph library for SBUS
2024-03-17 02:29:37 +03:00
Oleg Kalachev
2cf1c7abb3
Use FlixPeriph library for IMU, implement own IMU calibration
2024-03-15 10:38:48 +03:00
Oleg Kalachev
ed6d09061b
Rename RC_CHANNEL_AUX to RC_CHANNEL_ARMED
2024-01-19 05:19:41 +03:00
Oleg Kalachev
172f6b173a
MAVLink input support (control using mobile phone)
2024-01-17 15:39:40 +03:00
Oleg Kalachev
482bb8ed71
Disable ESP32 reset on low voltage
2024-01-17 15:18:11 +03:00
Oleg Kalachev
f4aaf0f4f3
Use radians macro, minor change
2024-01-12 00:43:52 +03:00
Oleg Kalachev
1ed05a94dd
Minor code cleanups
2024-01-08 22:33:11 +03:00
Oleg Kalachev
d2296fea76
Change C++ code style: put curly brace on the same line
2023-12-29 18:56:25 +03:00
Oleg Kalachev
a174d5cd7d
Headers cleanups
2023-12-19 05:06:19 +03:00
Oleg Kalachev
9a93367629
Make dt=0 on first step, simplify code
2023-05-31 20:07:38 +03:00
Oleg Kalachev
4160b8da07
Minor code rearrange
2023-05-29 18:46:29 +03:00
Oleg Kalachev
f84d1e95dd
More cleanups
2023-05-26 16:46:22 +03:00
Oleg Kalachev
c1aa0d9869
Store current time in float variable
2023-05-26 16:23:30 +03:00
Oleg Kalachev
82276ddb92
Cleanups
2023-05-24 10:56:59 +03:00
Oleg Kalachev
87c75842f9
Change .hpp to .h
2023-05-24 10:40:12 +03:00
Oleg Kalachev
1019d6d4bb
Code cleanups
2023-05-24 10:28:32 +03:00
Oleg Kalachev
e039055c8e
Initial commit
2023-03-26 10:23:30 +03:00