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
95824e3b75
Make max tilt and max angle rates MAVLink parameters
...
Also decrease default max yaw rate to 300 degrees
2025-01-10 06:00:06 +03:00
Oleg Kalachev
0a45614751
Move motorsActive function to motors.ino
2025-01-09 11:30:04 +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
72033cdd75
Increase motors PWM resolution to 12 bits
2025-01-09 11:02:38 +03:00
Oleg Kalachev
3088ade743
Fix getDutyCycle return type to make it possible to increase resolution
2025-01-09 11:02:21 +03:00
Oleg Kalachev
c2a9d36d4e
Add small delay before gyro calibration
2025-01-09 10:06:15 +03:00
Oleg Kalachev
ca409396c7
Add missing const qualifiers to some quaternion methods
2025-01-09 10:02:53 +03:00
Oleg Kalachev
ca032abc03
Implement rotate method for quaternions as replace for multiplication
...
Vector rotating method is renamed from `rotate` to `rotateVector` to avoid inconsistent object and argument order in different `rotate` methods
2025-01-09 09:56:49 +03:00
Oleg Kalachev
5d10446aaf
Bring back possibility to use ESCs for motors
2025-01-09 07:43:49 +03:00
Oleg Kalachev
87cf44371b
Some fixes and updates to readme and other articles
2025-01-09 03:46:54 +03:00
Oleg Kalachev
5ee407af8d
Update ESP32-core to 3.1.0
2025-01-06 21:01:39 +03:00
Oleg Kalachev
59cb55cf94
Use ubuntu-20.04 runner to build simulator in CI
...
The latest Ubuntu Gazebo 11 officially supports is Ubuntu 20.04
2025-01-06 00:56:25 +03:00
Oleg Kalachev
5db1258f78
Add battery connector cable to components list
2025-01-06 00:21:59 +03:00
Oleg Kalachev
732de2a5d6
Remove redundant inline specifiers
...
In-class defined methods are specified as inline by default
2025-01-04 04:09:51 +03:00
Oleg Kalachev
e10475a5e0
Some minor cleanups and fixes
2024-12-28 23:57:44 +03:00
Oleg Kalachev
7ae5457bb4
Improve logging code
...
Make it easer to add and remove log entries
2024-12-28 22:10:43 +03:00
Oleg Kalachev
299c8a6a02
Various minor fixes
2024-12-27 21:52:21 +03:00
Oleg Kalachev
43be27c43d
Fix joystick work in simulation
...
Logic was broken as joystickGet never got called
2024-12-27 15:34:33 +03:00
Oleg Kalachev
2440c65c46
Remove unused include
2024-12-26 16:07:01 +03:00
Oleg Kalachev
8d7a4595f5
Rename flushParameters to more clear syncParameters
2024-12-26 01:14:26 +03:00
Oleg Kalachev
acc0274175
Minor fix
2024-12-25 02:21:17 +03:00
Oleg Kalachev
edd249566e
Increase motors output frequency
2024-12-25 02:13:57 +03:00
Oleg Kalachev
ca355e0162
Simplify motors duty cycle computation
2024-12-25 02:13:33 +03:00
Oleg Kalachev
2efae82177
Minor fixes
2024-12-25 01:41:45 +03:00
Oleg Kalachev
fd30027ea4
Support AUTOPILOT_VERSION message request to make qgc connection faster
...
Don't have to wait until the request is timed out.
2024-12-23 17:59:35 +03:00
Oleg Kalachev
6f190295cf
Fix building article regarding new parameters subsystem
2024-12-23 13:59:44 +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
28f6cfff60
Fix SBUS simulation logic
...
Don't consider zero values from not connected joystick
2024-12-23 04:04:00 +03:00
Oleg Kalachev
7533a9cbfa
Move ONE_G definition to flix.ino
2024-12-23 02:37:03 +03:00
Oleg Kalachev
3cc3014ca0
Improve logic of passing channels data in simulated SBUS
...
Return the data the same way as on the real drone without touching channels global vairable
2024-12-23 02:04:22 +03:00
Oleg Kalachev
b6286a50b2
Minor change
2024-12-23 02:01:55 +03:00
Oleg Kalachev
4f2cf0c0b1
Don't let throttle be less than 0 in failsafe
2024-12-23 01:32:25 +03:00
Oleg Kalachev
f06a9301df
Add notice on removing props in motor test commands in help
2024-12-23 01:14:05 +03:00
Oleg Kalachev
41cde3261a
Minor troubleshooting article fix
2024-12-21 13:53:04 +03:00
Oleg Kalachev
f54da5bf42
Add CLI command for rebooting the drone
2024-12-20 20:59:59 +03:00
Oleg Kalachev
d01d5b7ecb
Improve Markdown linting
...
* Move .markdownlint to the root so it applies to the main readme.
* Improve .markdownlint, enable proper names checks.
* Use markdownlint-cli2 instead of markdownlint-cli as it's more compatible with VSCode extension.
2024-12-17 17:16:19 +03:00
Oleg Kalachev
0608765347
Add link to textbook website to readme
2024-12-17 11:27:14 +03:00
Oleg Kalachev
b70d16c1f7
Update deploy-pages version to fix website deploy
2024-12-16 12:13:36 +03:00
Oleg Kalachev
f7253bed70
Temporarily disable macOS simulation build
2024-12-16 11:59:49 +03:00
Oleg Kalachev
9957205d8f
Fix website deploy
2024-12-16 11:58:35 +03:00
Oleg Kalachev and GitHub
8440ddd3ee
Create book and deploy it to the website ( #6 )
...
* Create book structure.
* Add workflow for linting the markdown using markdownlint.
* Add workflow for building the book with mdBook and deploying to the website.
* Restyle mdBook and support GitHub-style alerts.
* Add images zooming.
* Add index, firmware structure and gyroscope articles.
2024-12-16 11:53:43 +03:00
Oleg Kalachev
66ba9518ae
Minor readme fix
2024-12-16 11:30:53 +03:00
Oleg Kalachev
d273b77ce2
Bring back macOS simulation build in Actions
2024-12-12 09:07:09 +03:00
Oleg Kalachev
77effa5577
Rotate IMU data to support standard axes orientation in new FlixPeriph
2024-12-11 06:17:37 +03:00
Oleg Kalachev
fcb426a16f
Update MAVLink-Arduino to 2.0.11
2024-12-09 08:04:36 +03:00
Oleg Kalachev
eea1a6a83c
Minor fix in troubleshooting article
2024-12-08 07:40:24 +03:00
Oleg Kalachev
9d470cbdfa
Add info on required version of Ubuntu for the simulation
2024-12-05 09:28:44 +03:00
Oleg Kalachev
6e140d673c
Cleanup unused utility functions
2024-12-05 08:29:21 +03:00
Oleg Kalachev
c75760e9e6
Some readme change regarding using different IMU board
2024-12-04 23:00:26 +03:00
Oleg Kalachev
172b6becc6
Use new FlixPeriph library with ICM-20948 support
2024-12-04 14:41:23 +03:00
Oleg Kalachev
475e9a87ba
Configure IMU before calibrating the gyro which improves calibration
2024-12-04 12:25:07 +03:00
Oleg Kalachev
ea141f851f
Use 'loop rate' term instead of misleading 'loop frequency'
2024-12-04 07:00:00 +03:00
Oleg Kalachev
7fa3baa76a
Add some minor clarification under the IMU orientation picture
2024-11-30 04:59:04 +03:00
Oleg Kalachev
2c5eac92ea
Add diagram for IMU orientation
2024-11-29 10:14:11 +03:00
Oleg Kalachev
048a3c6375
Use the new UART2 pins for RC by default
...
To make it consistent with the documentation
2024-11-27 23:02:20 +03:00
Oleg Kalachev
a65ec946c0
Update ESP32 core to 3.0.7
2024-11-24 01:45:41 +03:00
Oleg Kalachev
429aecbbad
Temporarily disable macOS simulation build in CI
2024-11-24 01:08:03 +03:00
Oleg Kalachev
a7b69f99d0
Fix non-working motor control commands
2024-11-24 00:17:47 +03:00
Oleg Kalachev
b015c15a7e
Remove non-working fullmot command
2024-11-24 00:10:37 +03:00
Oleg Kalachev
7a2f2d955b
Minor fix to the troubleshooting
2024-11-23 18:18:19 +03:00
Oleg Kalachev
c611549f67
Update link to the troubleshooting article
2024-11-23 18:16:46 +03:00
Oleg Kalachev
be3c5bf312
Add troubleshooting article
2024-11-23 18:13:41 +03:00
Oleg Kalachev
f6ddeb4689
Clarify GY-91 pin names
2024-11-12 21:02:47 +03:00
Oleg Kalachev
f6006d3305
Fix c_cpp_properties.json to match updated ESP32 core version
2024-11-04 16:35:22 +03:00
Oleg Kalachev
eca48c6546
Minor fix
2024-11-04 16:28:54 +03:00
Oleg Kalachev
cd5f6721dc
Updates to LED control code
...
Don't call digitaWrite on each setLED call
2024-11-04 16:28:43 +03:00
Oleg Kalachev
e7445599cc
Update core and libraries to the most recent versions
2024-11-04 16:28:13 +03:00
Oleg Kalachev
6327585754
Print accel calibration parameters in more convenient way
2024-11-04 14:37:05 +03:00
Oleg Kalachev
ec832d4e37
Implement RC fail-safe
2024-11-04 11:51:17 +03:00
Oleg Kalachev
2fdad7bdb6
Remove LED horizontality signalization
...
It's better to control the attitude estimation using QGC
2024-11-03 17:41:13 +03:00
Oleg Kalachev
c5c889679b
Fix simulation build
2024-10-31 19:27:27 +03:00
Oleg Kalachev
ad2c64625c
Print the IMU information in imu command
2024-10-31 10:24:00 +03:00
Oleg Kalachev
39d4f39932
Some updates in docs
2024-10-30 09:45:27 +03:00
Oleg Kalachev
57fe3fef2a
Upload STEP files for models
2024-10-29 14:18:03 +03:00
Oleg Kalachev
4ba9accf4b
Fix image for washer-m3 model
2024-10-29 14:04:42 +03:00
Oleg Kalachev
99c891e1cd
Add explanation on installing the right ESP32 core in build insutrctions
2024-10-27 11:07:53 +03:00
Oleg Kalachev
378db51de9
Get rid of simulator build warnings
2024-10-24 03:50:03 +03:00
Oleg Kalachev
8a83d70bb6
Update MAVLink-Arduino to 2.0.10
2024-10-24 03:49:28 +03:00
Oleg Kalachev
ba5ac30136
Adjust the default camera position in the simulator
2024-10-24 03:48:31 +03:00
Oleg Kalachev and GitHub
baf724ed6e
Minor README fixes
2024-10-23 14:45:57 +03:00
Oleg Kalachev
af58d56138
README fixes
2024-10-23 14:35:28 +03:00
Oleg Kalachev
13341602f0
Fix Gazebo stl model orientation
2024-10-23 14:30:25 +03:00
Oleg Kalachev
84368738b4
Major documentation update, the new drone version files released
2024-10-23 10:17:47 +03:00
Oleg Kalachev
0397b3a736
Move the visual part of the gazebo model to the bottom of the file
2024-10-23 09:42:17 +03:00
Oleg Kalachev
c41c96a96d
Update visual of the Gazebo model to the new version
...
Use STL instead of DAE, make props separated visuals
2024-10-23 09:41:16 +03:00
Oleg Kalachev
a94687bd56
Keep the t variable monotonic in the simulation
...
Otherwise it causes stopping sending MAVLink and other bugs
2024-10-23 09:36:54 +03:00
Oleg Kalachev
abcc9b96de
Use FLU as the main coordinate system instead of FRD
...
Corresponding to the IMU orientation in the new version
2024-10-23 09:30:49 +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
23f3295439
Remove ESC support and add MOSFET support in motors code
...
The new version uses MOSFETs
2024-10-23 09:27:54 +03:00
Oleg Kalachev
b0b6eb9a97
Minor code cleanups and clarifications
2024-10-23 09:25:39 +03:00
Oleg Kalachev
84a329cca7
More clean yaw error calculation
2024-10-23 09:25:07 +03:00
Oleg Kalachev
5613028678
Enable Wi-Fi by default
2024-10-23 09:24:58 +03:00
Oleg Kalachev
a0cca80980
Some fixes to VSCode config
2024-07-30 09:28:20 +03:00
Oleg Kalachev
bed5d79db8
Add comments to motor pins
2024-07-30 07:49:21 +03:00
Oleg Kalachev
da51ebab38
Add some C++ code style settings to VSCode settings
2024-07-30 07:46:40 +03:00
Oleg Kalachev
0b977aee28
Add json rules to .editorconfig
2024-07-30 07:46:15 +03:00