Compare commits

...

257 Commits

Author SHA1 Message Date
Buzz
5b745243a2 fix3 2022-05-12 17:08:35 +10:00
Buzz
9297447603 fix2 2022-05-12 16:53:06 +10:00
Buzz
3415f43c18 fix 2022-05-12 16:39:45 +10:00
Buzz
bc82afda39 try to get vagrant ci to go futher 2022-05-12 16:38:31 +10:00
Buzz
48cd04fb93
Create main.yml
testing ci
2022-05-12 16:09:26 +10:00
Buzz
652be42857 update-rc.d seems to be located at an unreliable url, making a local copy of it.
and the dependant patches.
2022-05-12 15:56:27 +10:00
Buzz
abbe08fc18 bugfixes for error/s that were occuring in 'vagrant up'.
this pins the git version used to 2.32.2 as it seems to work ok with the patches, and latest one from releases didn't. 
it also changes the url schema to http: from git: as per github guidlines change/s.
bitbake recipies need protocol=http, to tell bitbake that git
should use the http protocol
2022-05-10 19:12:19 +10:00
Buzz
7e8f0ab393
git doesn't have root certs for all the remote servers 2021-12-05 11:40:10 +10:00
Buzz
9f1f83e970
need to use a git based on openssl, not gnutls as our build env is so old, AND not check expiry of certs etc. 2021-12-05 11:06:40 +10:00
Nicolas Chaslot
bf827a1fe2 Fixed install-vagrant-deps.sh
As pip dropped support for python 2.7 on versions >=21, we need to ask for older versions of pip specifically at upgrade for the setup to work properly.
Vm will not install otherway
2021-12-04 17:32:30 +10:00
Peter Barker
69a6d49633 solo-builder: update repo we fetch meta-fsl-bsp-release from
The freescale hostname no longer resolves
2020-08-01 13:46:21 +10:00
Peter Barker
f687d6e785 install-vagrant-deps.sh: correct path for chmod of downloaded repo 2020-08-01 13:46:21 +10:00
Matt Lawrence
a97bdf15df Docs: High resolution schematics
3DR's high resolution complete schematics of the Solo IMX and the carrier board.  Obtained by user Philip White and provided to Open Solo to share with the community.
2020-04-29 09:33:07 -04:00
Matt Lawrence
46fa85d366 Docs: Remove old flies replaced by Wiki 2020-04-29 09:25:57 -04:00
Matt Lawrence
3ce97eb3f9 Version strings to Open Solo 4.0.0 2020-01-26 12:51:53 -05:00
Matt Lawrence
a2f74baceb FW: ArduCopter 4.0.1 2020-01-26 12:50:00 -05:00
Matt Lawrence
711f478897 FW: Updated STM32 firmware 2020-01-26 12:49:30 -05:00
Matt Lawrence
4fb5f151ea Artoo: SmartRTL on home button long hold 2020-01-26 12:46:38 -05:00
Matt Lawrence
d875fbed16 FW: Updated Artoo STM32 build 2020-01-11 10:51:15 -05:00
Matt Lawrence
e2790f25c5 FW: ArduCopter 4.0.1-RC3 w/ new params 2020-01-11 10:42:59 -05:00
Matt Lawrence
4bc6c6c8d0 Shotmanager: Fix instantiation 2020-01-10 18:17:35 -05:00
Matt
ea763105fc Sololink: Update USB dev id for gimbal fw load 2020-01-10 18:17:35 -05:00
Matt Lawrence
66d87f27d2 ArduCopter 4.0.0 CubeSolo build 2020-01-04 20:04:34 -05:00
Matt Lawrence
dada378379 Artoo: Add haptic feedback to home button 2020-01-04 20:04:34 -05:00
Matt Lawrence
ee96f9a0c4 FW: Abort cube fw that is not compatible 2019-12-30 12:43:27 -05:00
Jussi Tiira
b1ee2c960f DOCS: fix broken wiki links 2019-10-26 16:15:59 -04:00
Matt Lawrence
d4a38f2092 Updated ArduCopter APJ 2019-10-2 2019-10-02 19:40:35 -04:00
Matt Lawrence
f72d21d4ad Change default UI units from metric to imperial
Since the majority of users are in the USA, make the default UI units imperial instead of metric.
2019-09-29 09:36:07 -04:00
Matt Lawrence
8d70ed69dc Increase WiFi timeout from 5 to 10 minutes
Helps prevent WiFi form timing out during firmware updates
2019-09-29 09:35:09 -04:00
Matt Lawrence
837e4f258f Artoo: Updated STM32 firmware
Fixes the loading issue and adds the new graphic
2019-09-28 21:52:37 -04:00
Matt Lawrence
37e4ed6441 Artoo: New loading graphic for Open Solo 4
It says Open Solo 4.  Very original, I know.
2019-09-28 21:51:59 -04:00
Matt Lawrence
7d320abeda Artoo: Version string to OpenSolo-4dev 2019-09-22 22:26:42 -04:00
Matt Lawrence
f210977b33 FW: ArduCopter 4-dev 2019-07-22 (CubeSolo Build)
Latest ArduCopter 4-dev firmware, CubeSolo build, 2019-07-22
2019-09-22 20:49:21 -04:00
Matt Lawrence
bf73bcd580 Uploader: Updated uploaded.py from ArduPilot
Latest uploader.py as of 2019-07-03
2019-09-22 20:45:04 -04:00
Matt Lawrence
88034de9c7 Artoo: Reduce gimbal tilt gain
Reduce gain value from 45 to 30 to correct tilt moving way too fast.
2019-05-13 11:29:19 -04:00
Matt Lawrence
f181e149ce BUILD: Move artoo build to beginning of script 2019-05-06 20:46:02 -04:00
Matt Lawrence
b7c50e4ca4 FW: Updated ArduCopter 3.7-dev 2019-05-04 2019-05-05 19:48:30 -04:00
Matt Lawrence
935f602214 DOCS: Readmes redirect to wiki 2019-05-05 19:47:04 -04:00
Matt Lawrence
8314deb85a GoPro: Use ArduCopter shutter if GoPro not connected
This will allow any other camera connected to the Solo to be triggered by the Solo's shutter controls if no GoPro is connected.  So, if no GoPro is connected, it will send the mavlink command for triggering the shutter in ArduCopter.  Whatever servo output have defined as a camera trigger will fire.
2019-05-05 19:44:09 -04:00
Matt Lawrence
4e3e3368e1 UPLOADER: New uploader.py from ArduPilot 2019-05-05 19:44:09 -04:00
Matt Lawrence
4f07205c37 ExtFunctions: Fixed gripper typo in code 2019-05-05 19:44:09 -04:00
Matt Lawrence
cac8cc9b5e GOPRO: Set GoPro clock automatically
User or app needs to change /usr/bin/extSettings.conf "timeOffsetHrs" to be their local time offset from UTC in hours. The default is "None", and the clock will not update. The Solo has no other way to know what timezone it is in, so this must be set manually or with the app.  If set, for example to -5, the GoPro clock will automatically be set for the current UTC time minus 5 hours (eastern standard time).
2019-05-05 19:44:09 -04:00
Matt Lawrence
37a4180df0 Flight Code: Battery health monitoring
Warn user through app if:
- Battery capacity health sucks (<3500mah)
- Cell voltage less than 3.49v
- Cell voltage diff greater than 200mv
2019-05-05 19:44:09 -04:00
Matt Lawrence
e284da62b6 BUILD: Add Travis CI 2019-05-05 19:44:09 -04:00
Matt Lawrence
aff908ad1f DOC: Artoo FW loading readme update 2019-05-05 19:44:09 -04:00
Matt Lawrence
bd5bface8e Move all submodules to /modules 2019-05-05 19:44:09 -04:00
Matt Lawrence
c72e90fe15 ARTOO: Remove old vagrant files
No longer needed with single Open Solo Vagrant VM
2019-05-05 19:44:09 -04:00
Matt Lawrence
29cc4e1914 DOC: Updated solex install instructions 2019-05-05 19:44:09 -04:00
Matt Lawrence
ab86b5be05 DOC: Readme update for new solo-builder and artoo readmes 2019-05-05 19:44:09 -04:00
Matt Lawrence
ccae7d9bd7 DOC: Detailed Artoo readme
New detailed Artoo readme, replacing most older versions.
2019-05-05 19:44:09 -04:00
Matt Lawrence
62225f70b6 DOC: Detailed solo-builder readme
New detailed readme.md in the solo-builder directory replaces existing documentation elsewhere.
2019-05-05 19:44:09 -04:00
Matt Lawrence
1e17943322 DOC: Vagrant initialization readme 2019-05-05 19:44:09 -04:00
Matt Lawrence
2cd8ac3875 BUILD: Housekeeping, add artoo bulild, directory moves/names, new build opts
- Changed build directory to /solo-build since it isn't alt anymore.
- Move 3dr-yocto-bsp-base into solo-builder directory
- Remove unused files and directories from solo-builder
- Added building artoo STM32 FW to build
- Updated command line options for nuke and scripted
- Removed debug outputs
2019-05-05 19:44:09 -04:00
Matt Lawrence
2148f82457 BUILD: Updated artoo.bin in BB recipe files 2019-05-05 19:44:09 -04:00
Matt Lawrence
8a31f91919 ARTOO: haptic updates
Low haptic for disarmed alerts to be less annoying.  High haptic for radio failsafe.
2019-05-05 19:44:09 -04:00
Matt Lawrence
902b3eade9 Update automatic recovery to system script
Add --reset to make sure file system is clean
2019-05-05 19:44:09 -04:00
Matt Lawrence
c078ca1bd6 sololink_config update
Fix issue where script was bringing back ro file system instead of just deleting contents
2019-05-05 19:44:09 -04:00
Matt Lawrence
2b020e278c BUILD: Updated Artoo STM32 FW file for build 2019-05-05 19:44:09 -04:00
Matt Lawrence
d4f38d1347 Artoo: Use global_pos.relative_alt due to VFR_HUD changed in AP 2019-05-05 19:44:09 -04:00
Matt Lawrence
51dffffd80 Artoo: Short holding home button triggers Smart RTL 2019-05-05 19:44:09 -04:00
Matt Lawrence
8abf555b35 Artoo: Add new ArduCopter flight modes 2019-05-05 19:44:09 -04:00
Matt Lawrence
2d13cc9ccf LOG: Remove unnecessary log flooding 2019-05-05 19:44:09 -04:00
Matt Lawrence
d63a8707e8 BUILD: Copter 3.7-dev FW; BB use single arducopter.apj for all cubes
- Tags /firmware with resetParams for pixhawk.py to execute a parameter reset on boot
- Remove separate 3dr & green cube directories. Use single FW for all
- Adds Copter 3.7dev FW, which currently includes pending PR for slew protection
2019-05-05 19:44:09 -04:00
Matt Lawrence
e7cc0a3a47 PIX: Rework FW loading, error handling, logging
- Major cleanup of initialization
- Major cleanup of FW loading
- Better error checking to avoid bricking
- Better logging
- Add reboot arg to script
- Tag for param reset if resetParams in /firmware directory
2019-05-05 19:44:09 -04:00
Matt Lawrence
0188446013 PIX: ChibiOS compatibility: Add use of APJ FW file extensions 2019-05-05 19:44:09 -04:00
Matt Lawrence
b64bb6f72b PIX: ChibiOS compatibility - update serial port string pattern 2019-05-05 19:44:09 -04:00
Matt Lawrence
d91ac6c8e3 PIX: Replace px_uploader.py with new ArduPilot uploader.py 2019-05-05 19:44:09 -04:00
Matt Lawrence
7b671cd55e DOC: Update readme for consolidated repo 2019-05-05 19:44:09 -04:00
Matt Lawrence
b47cacadb1 BUILD: Version strings to 4-Dev 2019-01-07 12:35:46 -05:00
Matt Lawrence
5b6d623e25 BUILD: Solo resources redirected to new consolidated local repo
Sololink, shotmanager, sololink-python, and stm32loader all now using the local consolidated repo.  No longer using the various individual repos.
2019-01-07 12:35:46 -05:00
Matt Lawrence
88fcadf4aa BUILD: Update binary location for consolidated repo 2019-01-07 12:35:46 -05:00
Matt Lawrence
c7a2702b64 BUILD: Do not clean by default 2019-01-07 12:35:46 -05:00
Matt Lawrence
5146f93097 BUILD: Renamed alt-sync to source-sync, use rsync for local git repo
Renamed file from alt-sync to source-sync.  Using rsync for local repo meta-3dr and base.
2019-01-07 12:35:46 -05:00
Matt Lawrence
1c2b741bc1 BUILD: GPL-V3 license file in repo root
Used by numerous BB recipes
2019-01-07 12:35:46 -05:00
Matt Lawrence
c6b0f4bac0 BUILD: Added builder stuff to gitignore 2019-01-07 12:35:46 -05:00
Matt Lawrence
5781715be2 BUILD: Move vagrant to repo root
- Takes Vagrant out of the old solo-builder and puts it into the root of the Open Solo repo.  Gives vagrant full access to the entire repo.
- Cleaned up deps.sh and added everything that was in the playbook file.
- Removed the playbook work in favor of the deps.sh
2019-01-07 12:35:46 -05:00
Matt Lawrence
2a1b2377e3 GIT: Add imx6-uboot submodule 2019-01-07 12:35:46 -05:00
Matt
7f75a99935 Merge submodule contents for stm32loader/master 2019-01-05 11:59:30 -05:00
Matt
2d47ce0068 Remove submodule stm32loader 2019-01-05 11:59:29 -05:00
Matt
681542c765 Merge submodule contents for sololink-python/master 2019-01-05 11:59:16 -05:00
Matt
02528b046a Remove submodule sololink-python 2019-01-05 11:59:15 -05:00
Matt
5cd2bf45e2 Merge submodule contents for sololink/master 2019-01-05 11:59:05 -05:00
Matt
5e23b61910 Remove submodule sololink 2019-01-05 11:59:04 -05:00
Matt
8ca0b95f8d Merge submodule contents for solo-builder/master 2019-01-05 11:58:56 -05:00
Matt
a991a1cc26 Remove submodule solo-builder 2019-01-05 11:58:54 -05:00
Matt
aa8898683b Merge submodule contents for shotmanager/master 2019-01-05 11:58:46 -05:00
Matt
c18cedef3d Remove submodule shotmanager 2019-01-05 11:58:44 -05:00
Matt
645643a7bd Merge submodule contents for meta-3dr/master 2019-01-05 11:58:33 -05:00
Matt
bd166caa4d Remove submodule meta-3dr 2019-01-05 11:58:31 -05:00
Matt
0cb87c563c Merge submodule contents for documentation/master 2019-01-05 11:58:07 -05:00
Matt
57c1b01b6f Remove submodule documentation 2019-01-05 11:58:02 -05:00
Matt
0dc854d02a Merge submodule contents for artoo/master 2019-01-05 11:57:48 -05:00
Matt
f6c4d5c09a Remove submodule artoo 2019-01-05 11:57:44 -05:00
Matt
99f3e129aa Merge submodule contents for 3dr-yocto-bsp-base/master 2019-01-05 11:57:14 -05:00
Matt
8e77a30d6f Remove submodule 3dr-yocto-bsp-base 2019-01-05 11:57:13 -05:00
Matt Lawrence
71460cfb14 Consolidation: Add existing repos as submodules 2019-01-05 11:50:49 -05:00
Matt
27f2ea2be0 :octocat: Added .gitattributes & .gitignore files 2018-12-14 21:01:34 -05:00
Matt
98e553cc2a Add Copter 3.7-dev notes 2018-12-08 23:41:18 -05:00
Matt
341646d7e8 Create Copter 3.7-Dev instructions 2018-12-08 23:36:39 -05:00
Buzz
a619945804 Update ReadMe.md 2018-04-03 20:28:31 +10:00
Matt
bc8c414b3b Update to parameter loading steps 2018-03-23 10:17:20 -04:00
Matt
67a0ebbaaf Update SSH syntax
Fixed some errors in the SSH syntax
2018-01-23 07:34:49 -05:00
Matt
1b762e3a3e SSH instruction update
Fixed `sololink_config --update-prepare sololink`
2018-01-18 19:06:23 +00:00
Matt
c2a51626fc Update to include Solex version note 2018-01-02 13:54:52 -05:00
Matt
1e32faf5b9 Add username to ssh procedure 2018-01-02 07:15:54 -05:00
Buzz
8e8cd007ac Merge pull request #5 from tommy-b-10/patch-3
Updated instructions
2018-01-02 15:05:16 +10:00
Matt
a8991811d3 ARTOO: Use git describe for version strings 2018-01-01 12:51:47 -05:00
tommy-b-10
4149b259bf Updated instructions 2018-01-01 16:17:19 +10:30
Matt
ceed07faa1 FW: Updated ArduCopter FW 2017-12-30 17:49:34 -05:00
Matt
8ba6feb817 Version string to 3.0.0 2017-12-30 13:34:34 -05:00
Matt
d15217f432 Add git pull origin to meta-3dr 2017-12-29 23:10:47 -05:00
Matt
2aceb543eb VERSION: Open Solo 3.0.0 version strings 2017-12-29 18:13:21 -05:00
Matt
a8b85a8e2b ARTOO: STM32 v3.0.0 Firemware
Replace the -RC4 Artoo FW file with the 3.0.0 file.
2017-12-29 18:13:21 -05:00
Matt
f3d3e034ab PIXHAWK: Removed param loads
The parameter setting as part of a factory reset is no longer needed
since the ArduCopter firmware for both stock and green cubes has the
defaults baked in. This will shorten the installation time, and remove 2
automated reboots.
2017-12-29 14:03:28 -05:00
Matt
9232513c6d command line switch for cleaning build 2017-12-28 17:08:43 -05:00
Matt
77d268a388 MODES: Add newer ArduCopter flight modes
Several new flight modes have been added to ArduCopter since the Solo
was created.  This patch addes to the enumerations:
- Throw Mode
- ADS-B Aviodance (not a user mode)
- Guided w/ no GPS
- Smart RTL
2017-12-28 01:45:35 -05:00
root
f5d2efe459 clean command/s are very verbose, and return an error code even though the clean works 2017-12-26 03:42:38 +00:00
root
80a483a544 don't run onre than 1 of these at a time.wq 2017-12-26 03:17:28 +00:00
root
4b76c7a450 don't run onre than 1 of these at a time.wq 2017-12-26 03:15:01 +00:00
root
4d97c620b8 definitely need the permissions fix, but not the .. 2017-12-26 02:23:02 +00:00
David Buzz
736c4a357f Merge branch 'master' of https://github.com/OpenSolo/solo-builder 2017-12-26 02:18:34 +00:00
root
d7a666205e definitely need the permissions fix 2017-12-26 02:13:05 +00:00
Matt
b880c501bc BUILDER: Compile from head commits 2017-12-25 20:19:59 -05:00
Matt
e2d3e13d4e BUTTONS: Update A & B Defaults
Update to the default settings for A & B single press functions.
A: Manual
B: Position Hold
2017-12-25 11:48:04 -05:00
Matt
d24199b26e MODES: Add newer ArduCopter flight modes
Several new flight modes were added to ArduCopter since the Solo was
created. This patch adds
- Throw mode
- ADS-B Avoidance (not a user mode)
- Guided w/ no GPS
- Smart RTL
2017-12-24 12:23:51 -05:00
David Buzz
ebe24940f5 make the auto compile script a bit smarter with its output 2017-12-24 16:18:13 +10:00
David Buzz
69859d4de6 record the foldername we put the results in, for use elsewhere 2017-12-24 16:18:13 +10:00
David Buzz
329f1fc139 increased verbosity a lot inside alt_sync.sh, as it helps to see the repos and branches etc 2017-12-24 16:18:13 +10:00
David Buzz
f17a82082a minimum initial auto-build script 2017-12-24 16:18:13 +10:00
David Buzz
1a74743e05 minor tweaks by buzz 2017-12-24 16:18:13 +10:00
David Buzz
a0f4350810 minor tweaks by buzz 2017-12-24 16:18:13 +10:00
Buzz
048872a3fd builder.sh can now pass git tag name , or branch name to the alternate sync tool 2017-12-24 16:18:13 +10:00
Buzz
5495bdf7f8 allow using something other than 'master', in particular git tag names that start with tag/xxxxx 2017-12-24 16:18:13 +10:00
Buzz
0e24fe2e19 simplify 2017-12-24 16:18:13 +10:00
Buzz
5c78128fea WIP for alternative to 'repo' command for syncing git repo/s. 2017-12-24 16:18:13 +10:00
Matt
41e7130b0f SHOTS: Remove workaround for MOUNT_CONTROL bug
The bug in ArduCopter master that made MSG_MOUNT_CONTROL fail to yaw the
copter in smart shots has been found and fixed as of Fri 12/22.  It is
merged into master and begin backported to 3.5.5.  As such, the
workaround (simultaneous CONDITION_YAW commands) can now be removed from
the smart shots.  Also cleaned up the code around it a bit.
2017-12-22 21:36:22 -05:00
Buzz
35ecb0197e 3.0 RC4 2017-12-19 13:21:30 +10:00
Buzz
b2af2666fb builder.sh: better error handling from matt. 2017-12-19 12:41:49 +10:00
Buzz
93daa65204 README: Update caution message 2017-12-19 09:58:56 +10:00
Buzz
4eadebe166 README: Update caution message 2017-12-19 09:56:10 +10:00
Matt
9dabe25aac LEDs: Hugh Eaves python scripts for LED override 2017-12-18 18:19:15 -05:00
Matt
a4bc7da3cd BUTTONS: Update button events 2017-12-18 18:19:15 -05:00
Matt
33e9215636 RESETS: Automatic recovery to system update
If the solo is factory reset, it will automatically reinstall a clean
version of Open Solo onto the system partition. Makes factory reset a
single step process with no internet connection needed.
2017-12-18 18:19:15 -05:00
Matt
c90a11cd35 PIXHAWK: Detect hardware, FW loading, Factory Resets
Major update to pixhawk.py to handle loading firmware and factory resets
- If factory reset detected, reset parameters and reboot, then load some
basic required params
- Detect if pixhawk is stock PH2 or new PH2.1 to choose proper FW
- Check FW in new Open Solo locations for factory resets
- Better logging
2017-12-18 18:19:15 -05:00
Matt
bed42fd01e PIXHAWK: Update to latest px_uploader.py
Updating px_uploader.py to the latest from ArduPilot

This is the latest px_uploader from the ArduPilot px4 submodule. It allows WiFi to function when the system is in bootloader.
2017-12-18 18:19:15 -05:00
Matt
19ea16784c GOPRO: Add photo logging output for Solex GCS app
The Solex GCS app has a photo logging function for missions and geo
tagging.  This sends the applicable data from the Solo to the app.
2017-12-18 18:04:56 -05:00
Matt
49b199ea64 SHOTMANAGER: Update for buttons, speeds, RTL, reliability
Multiple updates for the following:
- Button handling for Open Solo
- Rework shot entry/exit for reliability
- Acceleration rate standardization
2017-12-18 18:04:56 -05:00
Matt
39743a9be0 SHOTS: Update for buttons, AC Master, & speeds
Update to all smart shots for some or all of the following:
- Button handling for the new Open Solo button handling rework
- Copter yaw compatibility with ArduCopter master
- Accelleration fixes and standardization
2017-12-18 18:04:56 -05:00
Matt
296a8af950 BUTTONS: Rework and expand button handling
This adds functionality for addition button options.  Adds short and
long hold options for the A, B, and trigger buttons, plus long hold
options for the gimbal preset buttons.  This also significantly cleans
up the handling, making it more robust.  Junk and unused functions are
dumped.  This is required to marry up with similar updates to the Artoo
STM32.  As such, you do need to have Open Solo on both the controller
and solo.  Also adds additional logging.  Additional commits to follow
make corresponding button handling changes to the smart shots, which are
also required.
2017-12-18 18:04:56 -05:00
Matt
244546d390 REWIND: Discontinue rewind smart shot
The rewind smart shot has a number of reliability and safety issues.  As
such, it is being discontinued in Open Solo.  If anything still happens
to call the rewind smart shot, it will immediately exit to ArduCopter
RTL mode.
2017-12-18 18:04:56 -05:00
Matt
879f8352a3 RTH: Discontinue ReturnHome smart shot
The ReturnHome smart shot presents a number of reliability and safety
issues. As such, its use is being discontinued and we're using
ArduCopter RTL mode instead.  If anything still happens to call the
return home smart shot, it will immediately change to the ArduCopter RTL
mode.
2017-12-18 18:04:56 -05:00
Matt
276efaa94a RC: Use ArduCopter throttle failsafe correctly
This ensures that if the RC control is lost, the throttle channel will
drop below the ArduCopter FS_THR_VALUE in both the 3DR ArduCopter
releases and the ArduCopter master releases.  the PixRC file in SoloLink
does the same thing, so this is kind of redundent.
2017-12-18 18:04:56 -05:00
Buzz
1786e4eddc TURNOVER: Update git URLs from 3DR to Open Solo 2017-12-18 17:48:55 -05:00
Buzz
251d55a341 not 3dr any more. 2017-12-18 12:48:20 +10:00
Matt
0e6e2988f1 IMAGES: Version strings to 2.5-RC4 in core-images
Increment version strings for 2.5-RC4.  Since the legacy 3DR Solo app cannot
handle letters in the version sting, it will show v2.5.94 in the app.
2017-12-17 20:57:26 -05:00
Matt
5ba49f6b82 FIRMWARE: ArduCopter 3.5.4 for PH2.1 cubes
Pulls the ArduCopter_3.5.4_Solo.px4 file from the documentation repo.  This
px4 file has the Solo's default parameters baked into it using the new
apj_tool that Tridge just created.
2017-12-17 20:57:26 -05:00
Matt
63236aa25c FIRMWARE: ArduCopter Solo 1.5.4 for stock Cube 2.0
Replacing the 3DR ArduCopter Solo 1.3.1 with Open Solo ArduCopter Solo
1.5.4 for the stock Pixhawk 2.0 cube.  See the release notes in the 3DR
and Open Solo ArduPilot-Solo repos.
2017-12-17 15:50:08 -05:00
Matt
013de821c7 FIRMWARE: Artoo STM32 Firmware v2.5-RC4
No functional changes from -RC3. Minor administrative code cleanups
to make the build work with Ubuntu 16.04.
2017-12-17 15:30:54 -05:00
Matt
37a420f81d FIRMWARE: Gimbal FW 1.3.6 (3DR stock) file loaded to server
No change mande to the FW. This just puts the FW file in the location
it needs to be in.
2017-12-17 15:30:22 -05:00
Matt
a7d62cb33e DRONEKIT: Fixed licence file/checksum 2017-12-17 15:30:22 -05:00
Matt
2cea6abcba PYMAVLINK: Bitbake to autorev
This doesn't functionally change anything since the head commit was the
commit specified before anyway. But now we can make enhancements without
having to change the BB recipe.
2017-12-17 15:28:30 -05:00
Buzz
46f0496fcf move pre-registration of known hosts into dependancies script, as it was sometimes failing when done in ansible. 2017-12-17 21:14:01 +10:00
Buzz
7b0e397e18 bcrypt package name typo. 2017-12-17 21:12:45 +10:00
Buzz
af34a87c77 hopeful fix 2017-12-17 21:03:51 +10:00
Buzz
fbdc8c6f26 need ansible inside the vm 2017-12-17 20:14:41 +10:00
Matt
7d7450b881 Threads to 8 2017-12-17 02:44:56 -05:00
Pedals2Paddlese
a55f86fe8d Added HoldRelease and LongHoldRelease events 2017-12-17 15:04:37 +10:00
Matt
cc732e2d52 VERSION to Open Solo 2.5-RC4 2017-12-17 15:04:14 +10:00
Matt
f439caa678 VAGRANT: Update to 16.04 and update dependencies
Update vagrant build system to Trusty64 and update dpendincies file
2017-12-17 15:04:14 +10:00
Matt
958f6a0f2b UI: Updated text strings on display
- Changed "3DR Solo App" to more generic "Mobile App"
- More useful waring text strings
- CH7 high & low notification strings
2017-12-17 15:04:14 +10:00
Matt
655b878263 DSM: CH7 switching enhancements
Deconflicts the pause button's brake usage and CH7 usage.  CH7 will go
low on short holding pause button.  CH7 will go high when long holding
pause button.  No longer interferences with single press usage for brake
mode.
2017-12-17 15:04:14 +10:00
Matt
b498573d32 BUTTONS: Button handling rework & new functions
Major update to button handling, which marries up to the button handling
changes in Sololink and Shotmanager.
- Short and long hold handling for extended functions
- Button timing enhancements
- FLY button directly calls ArduCopter mode change to loiter, land, or
takeoff
- HOME button directly calls ArduCopter mode change to RTL
- PAUSE button directly calls ArduCopter brake mode
2017-12-17 15:04:14 +10:00
Matt
d3ba59ffde UI: Open Solo logo and version splash screen 2017-12-17 15:04:14 +10:00
Matt
cc2545c0bf STM32LOADER: Autorev 2017-12-17 15:03:53 +10:00
Matt
66b8435393 SHOTMANAGER: License, autorev, new files
- Add new files for Shotmanager
- Direct to Open Solo autorev
- Fix license and checksum
- Version to 2.5-RC4
2017-12-17 15:03:53 +10:00
Matt
bb3e799f61 SOLOLINK-PYTHON: License and autorev
- Remove PV from BB filename
- Pulls from Open Solo master autorev
- Fix license & checksum
2017-12-17 15:03:53 +10:00
Matt
5b940138a6 SOLOLINK: Add new files, fix license, autorev
- Adds files for automatic recovery
- Pulls from Open Solo master autorev
- Fix license & checksum
2017-12-17 15:03:53 +10:00
Buzz
b7fe6e4703 move a couple of failing tools to https, hopefully fixes error. 2017-12-17 12:26:18 +10:00
Buzz
75e3c4ed3e UI: Change to free Apache licensed fonts
These files are the Apache licensed Free Roboto Font, see resources/fonts/notes.txt the filed named 'Helvetica* and Copenhagen* are NOT Helvetica or Copenhagen fonts.  they are actually copies of Roboto-Regular, just named that way to make the build work.
2017-12-16 14:06:56 -05:00
Buzz
40067615f1 VAGRANT: Updates to vagrant and builder 2017-12-16 14:06:56 -05:00
Buzz
63a642f3eb TURNOVER: Update GPG keys
Need to explicitly get older gpg key/s from the keyserver or we get this error:
GPG error: http://ppa.launchpad.net precise Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 6D1D8367A3421AFB
2017-12-16 14:06:04 -05:00
Buzz
e765cc0fce TURNOVER: Update git URLs from 3dr to Open Solo 2017-12-16 14:05:47 -05:00
Matt
8420c1023a BUILDER: Updated to switch repos & branches; Copy completed files
Added ability to specify a git account, repo, and branch for the
3dr-arm-yocto-bsp repo.  This will allow you to run the build from the
default OpenSolo repo or any fork. It will also let you specify the
branch to look in.  Once complete, the two tar.gz files are copied into
a date stamped folder and an MD5sum created on them. This will save some
steps when getting them put on Solo. And it allows for file integrity
checking.
2017-12-16 11:24:35 +10:00
Buzz
cd32f3f016 Update README.md 2017-11-09 16:53:39 +10:00
Buzz
bb6ecf5297 Update README.md 2017-11-09 16:52:09 +10:00
Buzz
74da167a39 Update README.md 2017-11-09 16:42:03 +10:00
Buzz
6d762afe59 Update README.md 2017-11-09 16:40:51 +10:00
Solo Builder
2d26a9b96d Fixed missing exit codes 2017-08-07 18:58:13 -04:00
Matt
a7c59798b7 Artoo version back to 2.4.2 from 3.5.5 2017-08-04 21:03:34 -04:00
Matt
38f1ef4db8 fix wget 2017-08-04 20:36:31 -04:00
Matt
e48a93b1d9 Changed curl to wget since curl was pulling html 2017-08-04 20:33:39 -04:00
Matt
f21949d5d7 Updated Pixhawk FW to ArduCopter stable 2017-08-04 19:42:17 -04:00
Jaimyn Mayer
51651ad7b2 Added link to quick start guide
Added a link to the quick start guide on ardupilot.org into the readme.
2017-08-04 10:44:51 +10:00
Buzz
fbe9e71abf change the build system to embed the 'master' ArduCopter-v3.px4 instead of the -v2, as that's what Matt and Philip said is the way to go. :-) 2017-08-03 12:35:53 +10:00
Buzz
ecf5e1f359 improve readme, and drop the need for a ssh key of any sort, as we use http repo URLs now. 2017-08-01 17:10:18 +10:00
Buzz
1e40b3d88d test 2017-08-01 16:29:03 +10:00
Buzz
b3699fbf40 test: keep version number same as 3dr , so stock controller and non-stock solo can interop. 2017-08-01 16:26:06 +10:00
Buzz
6f24a48055 test: bump aparent version off 0.0.0 as this may prevent it flashin to a solo on 'latest' ( ie 2.4.2 ) . 2017-08-01 15:54:14 +10:00
Buzz
7dc428bce0 re-enable vim, maybe? 2017-07-31 23:59:04 +10:00
Buzz
753dcf59b1 Revert "test"
This reverts commit e73b1bf8352358bd55baec64f17711b8aaeb7b0f.
2017-07-31 23:57:22 +10:00
Buzz
01f5e34788 Revert "test"
This reverts commit caa88e3e0b665b0a5a88daac4c9c43e7419791a4.
2017-07-31 23:57:09 +10:00
Buzz
c17456216e test 2017-07-31 23:46:10 +10:00
Buzz
75c16b82c7 test 2017-07-31 23:34:36 +10:00
Buzz
2afcb5f0cb temporarily include the pre-canned gimbal binary, as we can't build it ourselves yet. 2017-07-31 03:19:04 +10:00
Buzz
5640cc2b7a tell user where to find the resources that the build makes. 2017-07-31 03:17:53 +10:00
Buzz
6d98efe80b trying to get gimbal recipe to include a binary. 2017-07-31 03:06:52 +10:00
Buzz
4949cccbea exclude vim more 2017-07-30 23:10:36 +10:00
Buzz
268efa2e7a exclude vim properly 2017-07-30 23:09:24 +10:00
Buzz
de0d54496a exclude vim from build for test 2017-07-30 23:08:00 +10:00
Buzz
29a3f076c0 test 2017-07-30 22:59:21 +10:00
Buzz
1169543724 bitbake: continue-on-error 2017-07-30 22:49:20 +10:00
Buzz
d161eb1b2f test 2017-07-30 22:42:09 +10:00
Buzz
83ccdf883b Revert "temporarily remove vim from the build as it's failing and I don;t know why."
This reverts commit c4689f50a45df99e53efba68ab7be3a15bc113a7.
2017-07-30 22:36:22 +10:00
Buzz
31fbca16f4 fake these broken targets for now. 2017-07-30 22:09:14 +10:00
Buzz
6d70a314a1 test 2017-07-30 22:06:02 +10:00
Buzz
9b04db5775 temporarily remove vim from the build as it's failing and I don;t know why. 2017-07-30 22:01:29 +10:00
Buzz
2191c76e21 move to CLOSED to avoid licence checksums. 2017-07-30 21:58:21 +10:00
Buzz
08c148cab3 Merge branch 'master' of https://github.com/OpenSolo/meta-3dr 2017-07-30 21:51:57 +10:00
Buzz
e1b2042665 defining as CLOSED avoids need for LIC_FILES_CHKSUM, I hope. 2017-07-30 21:51:34 +10:00
Buzz
3a0a240596 defining as CLOSED avoids need for LIC_FILES_CHKSUM, I hope. 2017-07-30 21:48:52 +10:00
Buzz
2adaa8655f move url references and tags to OpenSolo and master 2017-07-30 21:13:13 +10:00
Buzz
5f24544d29 fixing solo-builder shotmanager url 2017-07-30 21:05:32 +10:00
Buzz
bdb4d935ed don't use ssh to get git repos 2017-07-30 19:22:36 +10:00
Buzz
aaaa265984 machine name should be - hyphens, not underscores , no idea why it was underscores, maybe historical.? also change text so it say we default to master, which is what we are doing now. 2017-07-30 17:03:54 +10:00
Buzz
65cea35af1 more repo massaging 2017-07-30 14:39:16 +10:00
Buzz
ee3003ba43 make playbook use https to the newly public repo/s instead of needing any special ssh key setup for private access. 2017-07-30 14:23:59 +10:00
Buzz
ad341826ec tweak Vagrant setup by massaging the python that's used to a newer version. not perfect, but works. took this from artoo/tools/ which does something similar. 2017-07-30 14:22:30 +10:00
Buzz
8942d4da35 change git urls 2017-07-30 10:24:11 +10:00
Buzz
b3cd739e46 Initial commit, based on .tar.gz file as provided by 3DR , see SOURCE file. 2017-07-29 18:04:17 +10:00
Buzz
adbe6ebbf3 Initial commit, based on .tar.gz file as provided by 3DR , see SOURCE file 2017-07-29 18:00:15 +10:00
Buzz
24d15eb032 Initial commit, based on .tar.gz file as provided by 3DR , see SOURCE file 2017-07-29 17:56:07 +10:00
Buzz
409c1b0587 Merge branch 'master' of https://github.com/OpenSolo/meta-3dr 2017-07-29 01:45:17 +10:00
Buzz
90263939c8 missed from initial commit. 2017-07-29 01:44:22 +10:00
Buzz
2d9dfd653f changed git url/s 2017-07-28 17:33:50 +10:00
Buzz
ed1e06b4a7 changed git url 2017-07-28 17:33:08 +10:00
Buzz
49ad5b0cf2 changed git url 2017-07-28 17:32:46 +10:00
Buzz
d468a5f62c changed git url/s 2017-07-28 17:31:56 +10:00
Buzz
1767a7f737 Initial commit, based on .tar.gz file as provided by 3DR , see SOURCE file. 2017-07-28 17:11:24 +10:00
Buzz
dc7b7532a5 Initial commit, based on .tar.gz file as provided by 3DR , see SOURCE file. 2017-07-28 17:07:57 +10:00
Buzz
291de87220 Initial commit, based on .tar.gz file as provided by 3DR , see SOURCE file. 2017-07-28 17:02:51 +10:00
Buzz
ead20ebce7 Initial commit, based on .tar.gz file as provided by 3DR , see SOURCE file. 2017-07-28 16:30:58 +10:00
John Finley
bb1add3390 Unprotect option (#1)
* readout unprotect is not done unless explicitly enabled

New command line option "-u" must be supplied or the readout unprotect
will not be done on erase failure. If the erase fails and readout
unprotect is not enabled (i.e. -u was not supplied) then the program
just terminates with an error (nonzero) exit status.

The intent is for the caller to be able to do a few retries to see if
the erase failure is transient, then do an update with readout unprotect
enabled as a last resort.

* explicit logging in case of initChip error

Also test code to simulate initChip error.
2016-04-26 18:23:06 -07:00
Allan Matthew
c469fe573b Adding 3DR's stm32loader.py changes 2015-08-05 08:48:36 -07:00
James Snyder
7f30bbb2f9 Merge pull request #1 from domenpuncer/master
Sending it back upstream. Support for stm32f2, mostly simple changes.
2014-04-03 18:03:29 -05:00
James Snyder
873bb6500c Merge pull request #2 from pichenettes/master
Explicitly read input file in binary mode to prevent newline characters ...
2013-10-21 11:20:09 -07:00
pichenettes
5ca0810ca8 Explicitly read input file in binary mode to prevent newline characters from being converted on Windows machines 2013-10-21 11:27:34 +02:00
Domen Puncer
0d5b49b5c3 Add chip id strings 2012-06-19 16:28:47 +02:00
Domen Puncer
aa21cfd79d Bootloader command GO, -g <addr> 2012-06-19 15:06:39 +02:00
Domen Puncer
15db5e2e8a Added extended erase (0x44), needed for stm32f2 stm32f4 series 2012-06-18 11:31:03 +02:00
Domen Puncer
b72acb9cd7 fix "Unknow" typo 2012-06-18 11:12:39 +02:00
Domen Puncer
e502858e6a Open file in binary mode, so it works on windows. Fix from http://www.micromouseonline.com/2009/05/08/stm32-arm-cortex-bootloader/#comment-197 2012-06-18 10:40:43 +02:00
Domen Puncer
0d8fc2912f Fix unclear comments on serial setup 2012-06-18 10:37:36 +02:00
James Snyder
c0d9f993a2 Fix bug with reading to file. 2009-05-10 18:51:42 -05:00
James Snyder
f8c5f2c9df some notes. 2009-04-06 11:18:02 -05:00
James Snyder
2a8dfe789c Include GPL license. 2009-04-06 11:13:44 -05:00
James Snyder
0849df43fb Commit initial modifications of stm32loader.py. 2009-04-06 11:10:28 -05:00
James Snyder
a6fd569d69 first commit 2009-04-06 11:09:26 -05:00
1540 changed files with 608387 additions and 342 deletions

17
.gitattributes vendored Normal file
View File

@ -0,0 +1,17 @@
# Auto detect text files and perform LF normalization
* text=auto
# Custom for Visual Studio
*.cs diff=csharp
# Standard to msysgit
*.doc diff=astextplain
*.DOC diff=astextplain
*.docx diff=astextplain
*.DOCX diff=astextplain
*.dot diff=astextplain
*.DOT diff=astextplain
*.pdf diff=astextplain
*.PDF diff=astextplain
*.rtf diff=astextplain
*.RTF diff=astextplain

28
.github/workflows/main.yml vendored Normal file
View File

@ -0,0 +1,28 @@
name: vagrant-up
on: [push]
jobs:
vagrant-up:
runs-on: macos-10.15
steps:
- uses: actions/checkout@v2
- name: Cache Vagrant boxes
uses: actions/cache@v2
with:
path: ~/.vagrant.d/boxes
key: ${{ runner.os }}-vagrant-${{ hashFiles('Vagrantfile') }}
restore-keys: |
${{ runner.os }}-vagrant-
- name: Show Vagrant version
run: vagrant --version
- name: Run vagrant up
run: vagrant up
- name: ssh into box after boot
run: vagrant ssh -c "/vagrant/solo-builder/builder-ci.sh"
- name: ssh and run builder a second time, to be sure
run: vagrant ssh -c "/vagrant/solo-builder/builder-ci.sh"

124
.gitignore vendored Normal file
View File

@ -0,0 +1,124 @@
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
# C extensions
*.so
# Distribution / packaging
.Python
env/
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
# Installer logs
pip-log.txt
pip-delete-this-directory.txt
# Unit test / coverage reports
htmlcov/
.tox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*,cover
.hypothesis/
# Translations
*.mo
*.pot
# Django stuff:
*.log
local_settings.py
# Flask stuff:
instance/
.webassets-cache
# Scrapy stuff:
.scrapy
# Sphinx documentation
docs/_build/
# PyBuilder
target/
# Jupyter Notebook
.ipynb_checkpoints
# pyenv
.python-version
# celery beat schedule file
celerybeat-schedule
# dotenv
.env
# virtualenv
.venv
venv/
ENV/
# Spyder project settings
.spyderproject
# Rope project settings
.ropeproject
# =========================
# Operating System Files
# =========================
# Windows
# =========================
# Windows thumbnail cache files
Thumbs.db
ehthumbs.db
ehthumbs_vista.db
# Folder config file
Desktop.ini
# Recycle Bin used on file shares
$RECYCLE.BIN/
# Windows Installer files
*.cab
*.msi
*.msm
*.msp
# Windows shortcuts
*.lnk
#Vagrant files to be ignored
.vagrant/
#Builder binaries
solo-builder/binaries/

18
.gitmodules vendored Normal file
View File

@ -0,0 +1,18 @@
[submodule "ardupilot-solo"]
path = modules/ardupilot-solo
url = https://github.com/OpenSolo/ardupilot-solo.git
[submodule "mavlink-solo"]
path = modules/mavlink-solo
url = https://github.com/OpenSolo/mavlink-solo.git
[submodule "dronekit-python-solo"]
path = modules/dronekit-python-solo
url = https://github.com/dronekit/dronekit-python-solo.git
[submodule "imx6-linux"]
path = modules/imx6-linux
url = https://github.com/OpenSolo/imx6-linux.git
[submodule "imx6-uboot"]
path = modules/imx6-uboot
url = https://github.com/OpenSolo/imx6-uboot.git
[submodule "MAVProxy"]
path = modules/MAVProxy
url = https://github.com/OpenSolo/MAVProxy.git

21
.travis.yml Normal file
View File

@ -0,0 +1,21 @@
dist: trusty
sudo: false
git:
submodules: false
cache:
directories:
- $HOME/opt
- $/solo-build/sources
before_install:
- sudo ln -sf /$TRAVIS_BUILD_DIR /vagrant
install:
- time /$TRAVIS_BUILD_DIR/install-vagrant-deps.sh 1>/dev/null
script:
- cd /$TRAVIS_BUILD_DIR/solo-builder && ./source_sync.sh
- cd /$TRAVIS_BUILD_DIR/artoo && tup

202
LICENSE-APACHE Normal file
View File

@ -0,0 +1,202 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

3
README.md Normal file
View File

@ -0,0 +1,3 @@
# WELCOME TO OPEN SOLO #
[Go to the Open Solo github Wiki for Open Solo documentation and instructions](https://github.com/OpenSolo/OpenSolo/wiki)

44
Vagrantfile vendored Executable file
View File

@ -0,0 +1,44 @@
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure(2) do |config|
config.vm.box = "ubuntu/trusty64"
config.vm.box_check_update = false
config.vm.provision "shell", path: "install-vagrant-deps.sh"
# detect number of cores,
# http://stackoverflow.com/questions/891537/detect-number-of-cpus-installed
def self.processor_count
case RbConfig::CONFIG['host_os']
when /darwin9/
`hwprefs cpu_count`.to_i
when /darwin/
((`which hwprefs` != '') ? `hwprefs thread_count` : `sysctl -n hw.ncpu`).to_i
when /linux/
`cat /proc/cpuinfo | grep processor | wc -l`.to_i
when /freebsd/
`sysctl -n hw.ncpu`.to_i
when /mswin|mingw/
require 'win32ole'
wmi = WIN32OLE.connect("winmgmts://")
cpu = wmi.ExecQuery("select NumberOfCores from Win32_Processor") # TODO count hyper-threaded in this
cpu.to_enum.first.NumberOfCores
end
end
# fwd host ssh for git access
config.ssh.forward_agent = true
config.vm.provider "virtualbox" do |vb|
# not recommended to use less than 6GB
vb.memory = "6144"
vb.cpus = processor_count
end
end

20
artoo/.gitignore vendored Normal file
View File

@ -0,0 +1,20 @@
.DS_Store
.tup
.vagrant
.gdbinit
*.o
*.elf
*.hex
*.bin
*.map
*.creator.user
*.pyc
*.orig
*.autosave
# generated by tup
src/version.cpp
src/resources-gen.cpp
src/resources-gen.h

27
artoo/COPYRIGHT-3DR Normal file
View File

@ -0,0 +1,27 @@
Copyright 2014-2016 3D Robotics
Licensed under the Apache License, Version 2.0 (the "License");
you may not use these files except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
~~~~
Contributors prior to public release:
* Liam Staskawicz
* Igor Napolskikh
* Stephen Garland
* Jonathan Challinger
* Jason Short
* John Finley
* Nick Speal
* Kevin Mehall
* Diego Medina

202
artoo/LICENSE-APACHE Normal file
View File

@ -0,0 +1,202 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

7
artoo/ReadMe.md Normal file
View File

@ -0,0 +1,7 @@
# ARTOO STM32 FIRMWARE #
The controller's STM32 is the hardware behind the buttons, sticks, and display. It is a separate piece of hardware from the IMX linux computers. When the solo-builder runs to compile the full copter and controller images, this Artoo STM32 firmware is included. You can also run the Artoo STM32 builder here separately if you only want to make changes to it. It is fast and simple compared to the entire copter and controller builds.
Some compiled versions of the Artoo STM32 firmware can be found in the [/Firmware/Artoo STM32](/Firmware/Artoo) directory.
[Go to the Open Solo github Wiki for Open Solo documentation and instructions](https://github.com/OpenSolo/OpenSolo/wiki/Artoo-STM32)

1
artoo/SOURCE Normal file
View File

@ -0,0 +1 @@
This source code was released by 3DR in the file: artoo_1.2.11_0d6954be.tar.gz

97
artoo/Tupfile Normal file
View File

@ -0,0 +1,97 @@
PROJECT := artoo
### uncomment to enable semihosting for debug
### disabled by default
# SEMIHOSTING := yes
###############################################################################
# executables
PREFIX := arm-none-eabi
CC := $(PREFIX)-gcc
CXX := $(PREFIX)-g++
LD := $(PREFIX)-gcc
AR := $(PREFIX)-ar
AS := $(PREFIX)-as
OBJCOPY := $(PREFIX)-objcopy
OBJDUMP := $(PREFIX)-objdump
###############################################################################
# C flags
CFLAGS += -Wextra -Wshadow -Wimplicit-function-declaration
CFLAGS += -Wredundant-decls -Wmissing-prototypes -Wstrict-prototypes
CFLAGS += -fno-common -ffunction-sections -fdata-sections -ffast-math
###############################################################################
# C++ flags
CXXFLAGS += -std=c++11
CXXFLAGS += -Wextra -Wshadow -Wredundant-decls -Weffc++
CXXFLAGS += -fno-common -ffunction-sections -fdata-sections -ffast-math
CXXFLAGS += -fno-exceptions -fno-threadsafe-statics -fno-rtti
###############################################################################
# C & C++ preprocessor common flags
CPPFLAGS += -Os -ggdb
CPPFLAGS += -Wall -Werror -Wundef
CPPFLAGS += -DMAVLINK_COMM_NUM_BUFFERS=1
ifeq ($(SEMIHOSTING),yes)
CPPFLAGS += -DSEMIHOSTING
endif
###############################################################################
# Linker flags
LDSCRIPT := src/ldscript.ld
LIB_DIR := .
LDFLAGS += --static --specs=nano.specs -nostartfiles -u _printf_float
ifeq ($(SEMIHOSTING),yes)
LDFLAGS += --specs=rdimon.specs
LIBS += -lrdimon
else
LIBS += -lnosys
endif
LDFLAGS += -L$(LIB_DIR)
LDFLAGS += -T$(LDSCRIPT)
LDFLAGS += -Wl,-Map=$(PROJECT).map,--cref,--gc-sections,-u,IVT
###############################################################################
# arch flags
ARCH_FLAGS = -mthumb -mcpu=cortex-m3 -msoft-float
###############################################################################
# Used libraries
LDLIBS += -Wl,--start-group -lc -lm -lgcc $(LIBS) -Wl,--end-group
###############################################################################
# Tasks
OBJDIR := obj
CPPSRCS := src/*.cpp src/stm32/*.cpp
# generate resources
: |> python tools/assetgen.py resources/assets.cfg src |> src/resources-gen.cpp src/resources-gen.h
# compile all cpp files
: foreach $(CPPSRCS) | src/resources-gen.h |> $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(ARCH_FLAGS) -c %f -o %o |> $(OBJDIR)/%B.o
# generate version string as well via tup trickery
# we pass source to GCC via stdin, then add the object file to our list of .o's to link
GIT_TAG := vers=`./git_describe_tag`
VERSION_SRC := "#include \"src/version.h\"\nconst char* Version::str() {return \"$vers\";}"
COMPILE_VERSION := $(GIT_TAG); echo $(VERSION_SRC) | $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(ARCH_FLAGS) -x c++ -c - -o $(OBJDIR)/version.o
# link binary
: $(OBJDIR)/*.o |> $(COMPILE_VERSION); $(LD) $(LDFLAGS) $(ARCH_FLAGS) %f $(LDLIBS) -o %o |> $(PROJECT).elf $(OBJDIR)/version.o | $(PROJECT).map
# create related binary formats
: $(PROJECT).elf |> $(OBJCOPY) -O ihex %f %o |> $(PROJECT).hex
: $(PROJECT).elf |> $(OBJCOPY) -O binary %f %o |> $(PROJECT).bin

10
artoo/Tupfile.ini Normal file
View File

@ -0,0 +1,10 @@
;
; Tupfile.ini indicates that this is the root of our project.
;
; We could configure more settings here if we wanted,
; but we're just using the defaults for now.
;
; See the INI FILES section at http://gittup.org/tup/manual.html
;

2
artoo/artoo.config Normal file
View File

@ -0,0 +1,2 @@
// Add predefined macros for your project here. For example:
// #define THE_ANSWER 42

1
artoo/artoo.creator Normal file
View File

@ -0,0 +1 @@
[General]

434
artoo/artoo.files Normal file
View File

@ -0,0 +1,434 @@
src/main.cpp
src/ldscript.ld
src/exti.cpp
src/stm32/setup.cpp
src/stm32/hw.h
src/stm32/vectors.cpp
src/stm32/vectors.h
src/stm32/gpio.cpp
src/stm32/gpio.h
src/stm32/spi.cpp
src/stm32/spi.h
src/stm32/dma.cpp
src/stm32/dma.h
src/stm32/sys.h
src/stm32/sys.cpp
src/stm32/adc.cpp
src/stm32/adc.h
src/stm32/usart.cpp
src/stm32/usart.h
src/board.h
src/stm32/common.h
src/inputs.h
src/inputs.cpp
src/stm32/hwtimer.cpp
src/stm32/hwtimer.h
src/buzzer.h
src/buzzer.cpp
src/hostprotocol.h
src/hostprotocol.cpp
src/stm32/systime.cpp
src/stm32/systime.h
src/stickaxis.h
src/stickaxis.cpp
src/button.h
src/button.cpp
src/packetbuffer.h
src/cameracontrol.cpp
src/cameracontrol.h
src/tween.cpp
src/tween.h
src/dsm.cpp
src/dsm.h
src/io.h
src/stm32/mcuflash.cpp
src/stm32/mcuflash.h
src/params.h
src/params.cpp
src/tasks.h
src/tasks.cpp
src/machine.h
src/ui.h
src/ui.cpp
src/version.h
src/mavlink/c_library/ardupilotmega/ardupilotmega.h
src/mavlink/c_library/ardupilotmega/mavlink.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_ahrs.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_ahrs2.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_ahrs3.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_airspeed_autocal.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_ap_adc.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_autopilot_version_request.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_battery2.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_camera_feedback.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_camera_status.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_compassmot_status.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_data16.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_data32.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_data64.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_data96.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_digicam_configure.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_digicam_control.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_ekf_status_report.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_fence_fetch_point.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_fence_point.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_fence_status.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_gimbal_axis_calibration_progress.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_gimbal_control.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_gimbal_erase_firmware_and_config.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_gimbal_factory_parameters_loaded.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_gimbal_home_offset_calibration_result.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_gimbal_perform_factory_tests.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_gimbal_report.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_gimbal_report_factory_tests_progress.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_gimbal_reset.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_gimbal_set_factory_parameters.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_gimbal_set_home_offsets.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_gopro_command.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_gopro_power_off.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_gopro_power_on.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_gopro_response.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_hwstatus.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_led_control.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_limits_status.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_mag_cal_progress.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_mag_cal_report.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_meminfo.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_mount_configure.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_mount_control.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_mount_status.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_radio.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_rally_fetch_point.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_rally_point.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_rangefinder.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_sensor_offsets.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_set_mag_offsets.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_simstate.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_wind.h
src/mavlink/c_library/ardupilotmega/testsuite.h
src/mavlink/c_library/ardupilotmega/version.h
src/mavlink/c_library/ASLUAV/ASLUAV.h
src/mavlink/c_library/ASLUAV/mavlink.h
src/mavlink/c_library/ASLUAV/mavlink_msg_asl_obctrl.h
src/mavlink/c_library/ASLUAV/mavlink_msg_aslctrl_data.h
src/mavlink/c_library/ASLUAV/mavlink_msg_aslctrl_debug.h
src/mavlink/c_library/ASLUAV/mavlink_msg_asluav_status.h
src/mavlink/c_library/ASLUAV/mavlink_msg_ekf_ext.h
src/mavlink/c_library/ASLUAV/mavlink_msg_sens_atmos.h
src/mavlink/c_library/ASLUAV/mavlink_msg_sens_batmon.h
src/mavlink/c_library/ASLUAV/mavlink_msg_sens_mppt.h
src/mavlink/c_library/ASLUAV/mavlink_msg_sens_power.h
src/mavlink/c_library/ASLUAV/testsuite.h
src/mavlink/c_library/ASLUAV/version.h
src/mavlink/c_library/autoquad/autoquad.h
src/mavlink/c_library/autoquad/mavlink.h
src/mavlink/c_library/autoquad/mavlink_msg_aq_esc_telemetry.h
src/mavlink/c_library/autoquad/mavlink_msg_aq_telemetry_f.h
src/mavlink/c_library/autoquad/testsuite.h
src/mavlink/c_library/autoquad/version.h
src/mavlink/c_library/common/common.h
src/mavlink/c_library/common/mavlink.h
src/mavlink/c_library/common/mavlink_msg_actuator_control_target.h
src/mavlink/c_library/common/mavlink_msg_att_pos_mocap.h
src/mavlink/c_library/common/mavlink_msg_attitude.h
src/mavlink/c_library/common/mavlink_msg_attitude_quaternion.h
src/mavlink/c_library/common/mavlink_msg_attitude_quaternion_cov.h
src/mavlink/c_library/common/mavlink_msg_attitude_target.h
src/mavlink/c_library/common/mavlink_msg_auth_key.h
src/mavlink/c_library/common/mavlink_msg_autopilot_version.h
src/mavlink/c_library/common/mavlink_msg_battery_status.h
src/mavlink/c_library/common/mavlink_msg_change_operator_control.h
src/mavlink/c_library/common/mavlink_msg_change_operator_control_ack.h
src/mavlink/c_library/common/mavlink_msg_command_ack.h
src/mavlink/c_library/common/mavlink_msg_command_int.h
src/mavlink/c_library/common/mavlink_msg_command_long.h
src/mavlink/c_library/common/mavlink_msg_data_stream.h
src/mavlink/c_library/common/mavlink_msg_data_transmission_handshake.h
src/mavlink/c_library/common/mavlink_msg_debug.h
src/mavlink/c_library/common/mavlink_msg_debug_vect.h
src/mavlink/c_library/common/mavlink_msg_distance_sensor.h
src/mavlink/c_library/common/mavlink_msg_encapsulated_data.h
src/mavlink/c_library/common/mavlink_msg_file_transfer_protocol.h
src/mavlink/c_library/common/mavlink_msg_global_position_int.h
src/mavlink/c_library/common/mavlink_msg_global_position_int_cov.h
src/mavlink/c_library/common/mavlink_msg_global_vision_position_estimate.h
src/mavlink/c_library/common/mavlink_msg_gps2_raw.h
src/mavlink/c_library/common/mavlink_msg_gps2_rtk.h
src/mavlink/c_library/common/mavlink_msg_gps_global_origin.h
src/mavlink/c_library/common/mavlink_msg_gps_inject_data.h
src/mavlink/c_library/common/mavlink_msg_gps_raw_int.h
src/mavlink/c_library/common/mavlink_msg_gps_rtk.h
src/mavlink/c_library/common/mavlink_msg_gps_status.h
src/mavlink/c_library/common/mavlink_msg_heartbeat.h
src/mavlink/c_library/common/mavlink_msg_highres_imu.h
src/mavlink/c_library/common/mavlink_msg_hil_controls.h
src/mavlink/c_library/common/mavlink_msg_hil_gps.h
src/mavlink/c_library/common/mavlink_msg_hil_optical_flow.h
src/mavlink/c_library/common/mavlink_msg_hil_rc_inputs_raw.h
src/mavlink/c_library/common/mavlink_msg_hil_sensor.h
src/mavlink/c_library/common/mavlink_msg_hil_state.h
src/mavlink/c_library/common/mavlink_msg_hil_state_quaternion.h
src/mavlink/c_library/common/mavlink_msg_local_position_ned.h
src/mavlink/c_library/common/mavlink_msg_local_position_ned_cov.h
src/mavlink/c_library/common/mavlink_msg_local_position_ned_system_global_offset.h
src/mavlink/c_library/common/mavlink_msg_log_data.h
src/mavlink/c_library/common/mavlink_msg_log_entry.h
src/mavlink/c_library/common/mavlink_msg_log_erase.h
src/mavlink/c_library/common/mavlink_msg_log_request_data.h
src/mavlink/c_library/common/mavlink_msg_log_request_end.h
src/mavlink/c_library/common/mavlink_msg_log_request_list.h
src/mavlink/c_library/common/mavlink_msg_manual_control.h
src/mavlink/c_library/common/mavlink_msg_manual_setpoint.h
src/mavlink/c_library/common/mavlink_msg_memory_vect.h
src/mavlink/c_library/common/mavlink_msg_mission_ack.h
src/mavlink/c_library/common/mavlink_msg_mission_clear_all.h
src/mavlink/c_library/common/mavlink_msg_mission_count.h
src/mavlink/c_library/common/mavlink_msg_mission_current.h
src/mavlink/c_library/common/mavlink_msg_mission_item.h
src/mavlink/c_library/common/mavlink_msg_mission_item_int.h
src/mavlink/c_library/common/mavlink_msg_mission_item_reached.h
src/mavlink/c_library/common/mavlink_msg_mission_request.h
src/mavlink/c_library/common/mavlink_msg_mission_request_list.h
src/mavlink/c_library/common/mavlink_msg_mission_request_partial_list.h
src/mavlink/c_library/common/mavlink_msg_mission_set_current.h
src/mavlink/c_library/common/mavlink_msg_mission_write_partial_list.h
src/mavlink/c_library/common/mavlink_msg_named_value_float.h
src/mavlink/c_library/common/mavlink_msg_named_value_int.h
src/mavlink/c_library/common/mavlink_msg_nav_controller_output.h
src/mavlink/c_library/common/mavlink_msg_optical_flow.h
src/mavlink/c_library/common/mavlink_msg_optical_flow_rad.h
src/mavlink/c_library/common/mavlink_msg_param_map_rc.h
src/mavlink/c_library/common/mavlink_msg_param_request_list.h
src/mavlink/c_library/common/mavlink_msg_param_request_read.h
src/mavlink/c_library/common/mavlink_msg_param_set.h
src/mavlink/c_library/common/mavlink_msg_param_value.h
src/mavlink/c_library/common/mavlink_msg_ping.h
src/mavlink/c_library/common/mavlink_msg_position_target_global_int.h
src/mavlink/c_library/common/mavlink_msg_position_target_local_ned.h
src/mavlink/c_library/common/mavlink_msg_power_status.h
src/mavlink/c_library/common/mavlink_msg_radio_status.h
src/mavlink/c_library/common/mavlink_msg_raw_imu.h
src/mavlink/c_library/common/mavlink_msg_raw_pressure.h
src/mavlink/c_library/common/mavlink_msg_rc_channels.h
src/mavlink/c_library/common/mavlink_msg_rc_channels_override.h
src/mavlink/c_library/common/mavlink_msg_rc_channels_raw.h
src/mavlink/c_library/common/mavlink_msg_rc_channels_scaled.h
src/mavlink/c_library/common/mavlink_msg_request_data_stream.h
src/mavlink/c_library/common/mavlink_msg_safety_allowed_area.h
src/mavlink/c_library/common/mavlink_msg_safety_set_allowed_area.h
src/mavlink/c_library/common/mavlink_msg_scaled_imu.h
src/mavlink/c_library/common/mavlink_msg_scaled_imu2.h
src/mavlink/c_library/common/mavlink_msg_scaled_imu3.h
src/mavlink/c_library/common/mavlink_msg_scaled_pressure.h
src/mavlink/c_library/common/mavlink_msg_scaled_pressure2.h
src/mavlink/c_library/common/mavlink_msg_serial_control.h
src/mavlink/c_library/common/mavlink_msg_servo_output_raw.h
src/mavlink/c_library/common/mavlink_msg_set_actuator_control_target.h
src/mavlink/c_library/common/mavlink_msg_set_attitude_target.h
src/mavlink/c_library/common/mavlink_msg_set_gps_global_origin.h
src/mavlink/c_library/common/mavlink_msg_set_mode.h
src/mavlink/c_library/common/mavlink_msg_set_position_target_global_int.h
src/mavlink/c_library/common/mavlink_msg_set_position_target_local_ned.h
src/mavlink/c_library/common/mavlink_msg_sim_state.h
src/mavlink/c_library/common/mavlink_msg_statustext.h
src/mavlink/c_library/common/mavlink_msg_sys_status.h
src/mavlink/c_library/common/mavlink_msg_system_time.h
src/mavlink/c_library/common/mavlink_msg_terrain_check.h
src/mavlink/c_library/common/mavlink_msg_terrain_data.h
src/mavlink/c_library/common/mavlink_msg_terrain_report.h
src/mavlink/c_library/common/mavlink_msg_terrain_request.h
src/mavlink/c_library/common/mavlink_msg_timesync.h
src/mavlink/c_library/common/mavlink_msg_v2_extension.h
src/mavlink/c_library/common/mavlink_msg_vfr_hud.h
src/mavlink/c_library/common/mavlink_msg_vicon_position_estimate.h
src/mavlink/c_library/common/mavlink_msg_vision_position_estimate.h
src/mavlink/c_library/common/mavlink_msg_vision_speed_estimate.h
src/mavlink/c_library/common/testsuite.h
src/mavlink/c_library/common/version.h
src/mavlink/c_library/matrixpilot/matrixpilot.h
src/mavlink/c_library/matrixpilot/mavlink.h
src/mavlink/c_library/matrixpilot/mavlink_msg_airspeeds.h
src/mavlink/c_library/matrixpilot/mavlink_msg_altitudes.h
src/mavlink/c_library/matrixpilot/mavlink_msg_flexifunction_buffer_function.h
src/mavlink/c_library/matrixpilot/mavlink_msg_flexifunction_buffer_function_ack.h
src/mavlink/c_library/matrixpilot/mavlink_msg_flexifunction_command.h
src/mavlink/c_library/matrixpilot/mavlink_msg_flexifunction_command_ack.h
src/mavlink/c_library/matrixpilot/mavlink_msg_flexifunction_directory.h
src/mavlink/c_library/matrixpilot/mavlink_msg_flexifunction_directory_ack.h
src/mavlink/c_library/matrixpilot/mavlink_msg_flexifunction_read_req.h
src/mavlink/c_library/matrixpilot/mavlink_msg_flexifunction_set.h
src/mavlink/c_library/matrixpilot/mavlink_msg_serial_udb_extra_f13.h
src/mavlink/c_library/matrixpilot/mavlink_msg_serial_udb_extra_f14.h
src/mavlink/c_library/matrixpilot/mavlink_msg_serial_udb_extra_f15.h
src/mavlink/c_library/matrixpilot/mavlink_msg_serial_udb_extra_f16.h
src/mavlink/c_library/matrixpilot/mavlink_msg_serial_udb_extra_f2_a.h
src/mavlink/c_library/matrixpilot/mavlink_msg_serial_udb_extra_f2_b.h
src/mavlink/c_library/matrixpilot/mavlink_msg_serial_udb_extra_f4.h
src/mavlink/c_library/matrixpilot/mavlink_msg_serial_udb_extra_f5.h
src/mavlink/c_library/matrixpilot/mavlink_msg_serial_udb_extra_f6.h
src/mavlink/c_library/matrixpilot/mavlink_msg_serial_udb_extra_f7.h
src/mavlink/c_library/matrixpilot/mavlink_msg_serial_udb_extra_f8.h
src/mavlink/c_library/matrixpilot/testsuite.h
src/mavlink/c_library/matrixpilot/version.h
src/mavlink/c_library/minimal/mavlink.h
src/mavlink/c_library/minimal/mavlink_msg_heartbeat.h
src/mavlink/c_library/minimal/minimal.h
src/mavlink/c_library/minimal/testsuite.h
src/mavlink/c_library/minimal/version.h
src/mavlink/c_library/pixhawk/mavlink.h
src/mavlink/c_library/pixhawk/mavlink_msg_attitude_control.h
src/mavlink/c_library/pixhawk/mavlink_msg_brief_feature.h
src/mavlink/c_library/pixhawk/mavlink_msg_detection_stats.h
src/mavlink/c_library/pixhawk/mavlink_msg_image_available.h
src/mavlink/c_library/pixhawk/mavlink_msg_image_trigger_control.h
src/mavlink/c_library/pixhawk/mavlink_msg_image_triggered.h
src/mavlink/c_library/pixhawk/mavlink_msg_marker.h
src/mavlink/c_library/pixhawk/mavlink_msg_onboard_health.h
src/mavlink/c_library/pixhawk/mavlink_msg_pattern_detected.h
src/mavlink/c_library/pixhawk/mavlink_msg_point_of_interest.h
src/mavlink/c_library/pixhawk/mavlink_msg_point_of_interest_connection.h
src/mavlink/c_library/pixhawk/mavlink_msg_position_control_setpoint.h
src/mavlink/c_library/pixhawk/mavlink_msg_raw_aux.h
src/mavlink/c_library/pixhawk/mavlink_msg_set_cam_shutter.h
src/mavlink/c_library/pixhawk/mavlink_msg_set_position_control_offset.h
src/mavlink/c_library/pixhawk/mavlink_msg_watchdog_command.h
src/mavlink/c_library/pixhawk/mavlink_msg_watchdog_heartbeat.h
src/mavlink/c_library/pixhawk/mavlink_msg_watchdog_process_info.h
src/mavlink/c_library/pixhawk/mavlink_msg_watchdog_process_status.h
src/mavlink/c_library/pixhawk/pixhawk.h
src/mavlink/c_library/pixhawk/testsuite.h
src/mavlink/c_library/pixhawk/version.h
src/mavlink/c_library/slugs/mavlink.h
src/mavlink/c_library/slugs/mavlink_msg_boot.h
src/mavlink/c_library/slugs/mavlink_msg_control_surface.h
src/mavlink/c_library/slugs/mavlink_msg_cpu_load.h
src/mavlink/c_library/slugs/mavlink_msg_ctrl_srfc_pt.h
src/mavlink/c_library/slugs/mavlink_msg_data_log.h
src/mavlink/c_library/slugs/mavlink_msg_diagnostic.h
src/mavlink/c_library/slugs/mavlink_msg_gps_date_time.h
src/mavlink/c_library/slugs/mavlink_msg_isr_location.h
src/mavlink/c_library/slugs/mavlink_msg_mid_lvl_cmds.h
src/mavlink/c_library/slugs/mavlink_msg_novatel_diag.h
src/mavlink/c_library/slugs/mavlink_msg_ptz_status.h
src/mavlink/c_library/slugs/mavlink_msg_sensor_bias.h
src/mavlink/c_library/slugs/mavlink_msg_sensor_diag.h
src/mavlink/c_library/slugs/mavlink_msg_slugs_camera_order.h
src/mavlink/c_library/slugs/mavlink_msg_slugs_configuration_camera.h
src/mavlink/c_library/slugs/mavlink_msg_slugs_mobile_location.h
src/mavlink/c_library/slugs/mavlink_msg_slugs_navigation.h
src/mavlink/c_library/slugs/mavlink_msg_status_gps.h
src/mavlink/c_library/slugs/mavlink_msg_uav_status.h
src/mavlink/c_library/slugs/mavlink_msg_volt_sensor.h
src/mavlink/c_library/slugs/slugs.h
src/mavlink/c_library/slugs/testsuite.h
src/mavlink/c_library/slugs/version.h
src/mavlink/c_library/test/mavlink.h
src/mavlink/c_library/test/mavlink_msg_test_types.h
src/mavlink/c_library/test/test.h
src/mavlink/c_library/test/testsuite.h
src/mavlink/c_library/test/version.h
src/mavlink/c_library/ualberta/mavlink.h
src/mavlink/c_library/ualberta/mavlink_msg_nav_filter_bias.h
src/mavlink/c_library/ualberta/mavlink_msg_radio_calibration.h
src/mavlink/c_library/ualberta/mavlink_msg_ualberta_sys_status.h
src/mavlink/c_library/ualberta/testsuite.h
src/mavlink/c_library/ualberta/ualberta.h
src/mavlink/c_library/ualberta/version.h
src/mavlink/c_library/checksum.h
src/mavlink/c_library/mavlink_conversions.h
src/mavlink/c_library/mavlink_helpers.h
src/mavlink/c_library/mavlink_types.h
src/mavlink/c_library/protocol.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_gimbal_torque_cmd_report.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_gopro_get_request.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_gopro_get_response.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_gopro_heartbeat.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_gopro_set_request.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_gopro_set_response.h
src/mavlink/c_library/ardupilotmega/mavlink_msg_pid_tuning.h
src/ui_telemetry.h
src/ui_telemetry.cpp
src/stm32/pwr.h
src/stm32/pwr.cpp
src/flightmanager.h
src/flightmanager.cpp
src/vehicleconnector.h
src/vehicleconnector.cpp
src/buttonmanager.h
src/buttonmanager.cpp
src/powermanager.h
src/powermanager.cpp
src/stm32/fsmc.h
src/stm32/fsmc.cpp
src/ili9341parallel.h
src/ili9341parallel.cpp
src/resources-gen.cpp
src/resources-gen.h
src/haptic.h
src/haptic.cpp
src/gfx.h
src/gfx.cpp
src/board_bb03.h
src/board_bb02.h
src/telemetry.h
src/battery.h
src/battery.cpp
src/stm32/rcc.h
src/stm32/rcc.cpp
src/ui_arming.h
src/ui_arming.cpp
src/ui_pairing.h
src/ui_pairing.cpp
src/ui_gimbal.h
src/ui_gimbal.cpp
src/ringbuffer.h
src/mathx.h
src/buttonfunction.h
src/buttonfunction.cpp
src/ui_alert.h
src/ui_alert.cpp
src/ui_events.h
src/ui_splash.h
src/ui_splash.cpp
src/ui_power.h
src/ui_power.cpp
src/board_dvt.h
src/lockout.h
src/lockout.cpp
src/ui_updater.h
src/ui_updater.cpp
src/idletimeout.h
src/idletimeout.cpp
src/coord2d.h
src/geo.h
src/geo.cpp
src/selftest.h
src/selftest.cpp
src/manualoverride.h
src/manualoverride.cpp
src/factorytest.h
src/factorytest.cpp
src/ui_bottombox.h
src/ui_bottombox.cpp
src/ui_events.cpp
src/onedkalmanfilter.h
src/movingavgfilter.h
src/movingavgfilter.cpp
src/ui_fullscreenmodal.cpp
src/ui_fullscreenmodal.h
src/ui_holdprogressbar.h
src/ui_holdprogressbar.cpp
src/telemetry.cpp
src/ui_color.cpp
src/ui_color.h
src/ui_topbar.h
src/ui_topbar.cpp
src/mathx.cpp
src/home.h
src/home.cpp
src/stm32/bkp.h
src/stm32/bkp.cpp
src/mavlink.h
src/mavlink.cpp
src/sologimbal.h
src/sologimbal.cpp

14
artoo/artoo.includes Normal file
View File

@ -0,0 +1,14 @@
src
src/stm32
src/Adafruit-GFX-Library
src/mavlink/c_library/minimal
src/mavlink/c_library/slugs
src/mavlink/c_library/pixhawk
src/mavlink/c_library
src/mavlink/c_library/common
src/mavlink/c_library/ardupilotmega
src/mavlink/c_library/matrixpilot
src/mavlink/c_library/autoquad
src/mavlink/c_library/test
src/mavlink/c_library/ASLUAV
src/mavlink/c_library/ualberta

24
artoo/gdbinit.sample Normal file
View File

@ -0,0 +1,24 @@
set print pretty on
set mem inaccessible-by-default off
define hook-run
set confirm off
end
define hook-quit
set confirm off
end
define reload
load
run
end
# update for default path on your machine
target extended-remote /dev/cu.usbmodemE3BB9CE1
monitor jtag_scan
att 1
# set the DBG_STANDBY | DBG_STOP | DBG_SLEEP bits in the DBGMCU_CR register
set *(uint32_t*)0xE0042004 = 0x7

7
artoo/git_describe_tag Executable file
View File

@ -0,0 +1,7 @@
#!/bin/bash
## Returns the most recent release tag string
## If the head is the most recent tag, it will display only the tag such as v3.0.0
## If there are untagged commits after the last tag, it will display something v3.0.0-2-876FH
git describe --tags

2
artoo/obj/.gitkeep Normal file
View File

@ -0,0 +1,2 @@
# ensure this directory exists on a fresh git checkout

212
artoo/resources/assets.cfg Normal file
View File

@ -0,0 +1,212 @@
# list each asset to be converted on a separate line.
# paths are interpreted relative to this file.
# name before colon is symbol that can be accessed in generated code.
[Images PaletteA]
#Update Sequence
Icon_Batsu: images/update_sequence/Icon_Batsu.png
Icon_Check: images/update_sequence/Icon_Check.png
Icon_Wrench: images/update_sequence/Icon_Wrench.png
Icon_FailWrench: images/update_sequence/Icon_FailWrench.png
#Hold Fly Button Interactions
Hold_PBarCap: images/Hold_PBarCap.png
Kill_PBarCap: images/Kill_PBarCap.png
#Pairing Sequence
Icon_SoloWhite: images/pairing/Solo_White.png
Icon_SoloGreen: images/pairing/Solo_Green.png
#Basic Telemetry
Unit_FT: images/basic_telem/Unit_FT.png
Unit_MPH: images/basic_telem/Unit_MPH.png
Unit_M: images/basic_telem/Unit_M.png
Unit_KPH: images/basic_telem/Unit_KPH.png
Icon_ChargingBolt: images/top_bar_icons/Icon_charging.png
GPS_Lock: images/top_bar_icons/New_GPS_Lock.png
GPS_NoLock: images/top_bar_icons/New_GPS_NoLock.png
# Button Icons (Updates to match Artoo physical buttons)
Icon_Power_Btn: images/button_icons/Power_Button.png
Icon_New_A_Btn: images/button_icons/New_A_Button_Disengaged.png
Icon_New_A_Btn_On: images/button_icons/New_A_Button_Engaged.png
Icon_New_A_Btn_Dis: images/button_icons/New_A_Button_Disabled.png
Icon_New_B_Btn: images/button_icons/New_B_Button_Disengaged.png
Icon_New_B_Btn_On: images/button_icons/New_B_Button_Engaged.png
Icon_New_B_Btn_Dis: images/button_icons/New_B_Button_Disabled.png
Icon_1_Btn_OnBlack: images/button_icons/1_Button_OnBlk.png
Icon_2_Btn_OnBlack: images/button_icons/2_Button_OnBlk.png
Icon_1_Btn_OnGrn: images/button_icons/1_Button_OnGrn.png
Icon_2_Btn_OnGrn: images/button_icons/2_Button_OnGrn.png
#Battery Messaging
Icon_Batt_Check_Frame: images/battery_check_icon/Battery_Check_Frame.png
Batt_Fill_Green_LeftCap: images/battery_check_icon/Left_GreenCap.png
Batt_Fill_Green_RightCap: images/battery_check_icon/Right_GreenCap.png
Batt_Fill_Red_LeftCap: images/battery_check_icon/Left_RedCap.png
# Camera Angle and Angle Presets Feedback
Camera_Angle_Indicator: images/camera_angle/Camera_Ball.png
Preset_Marker_Save: images/camera_angle/Preset_Marker_Save.png
Preset_Marker_SaveBlue: images/camera_angle/Preset_Marker_Save_UpdateBlue.png
Preset_Marker: images/camera_angle/Preset_Marker.png
Preset_MarkerBlue: images/camera_angle/Preset_MarkerBlue.png
Tilt_Arc: images/camera_angle/Tilt_Arc.png
Icon_Angle1Green: images/camera_angle/Icon_GreenAngle1.png
Icon_Angle2Green_Update: images/camera_angle/Icon_GreenAngle2.png
Icon_Angle1Blue_Update: images/camera_angle/Icon_BlueAngle1.png
Icon_Angle2Blue: images/camera_angle/Icon_BlueAngle2.png
Label_SweepSec: images/camera_angle/Label_SweepSec.png
#Modal Screen Icons
Grn_Icon_ConRecon: images/modal_screen_icons/Green_ControllerReconnect.png
Red_Icon_ConDis: images/modal_screen_icons/Red_ControllerDisconnect.png
Grn_Icon_GPS: images/modal_screen_icons/Green_GPS_Regain.png
Orng_Icon_GPS: images/modal_screen_icons/Orange_GPS_Lost_02.png
Orng_Icon_Com: images/modal_screen_icons/Orange_Compass.png
Red_Icon_Com: images/modal_screen_icons/Red_Compass.png
Orng_Icon_Exclam: images/modal_screen_icons/Orange_Exclamation.png
Orange_Icon_SenorCal: images/modal_screen_icons/Orange_SensorCal.png
Green_Icon_SensorCal: images/modal_screen_icons/Green_SensorCal.png
Red_Icon_Exclam: images/modal_screen_icons/Red_Exclamation.png
Orng_Icon_Level: images/modal_screen_icons/Orange_LevelError.png
Red_Icon_Level: images/modal_screen_icons/Red_LevelError.png
Red_Icon_Alt: images/modal_screen_icons/Red_AltitudeCal.png
Red_Icon_Crash: images/modal_screen_icons/Red_Crash.png
Red_Icon_Camera: images/modal_screen_icons/Red_GoProError.png
Red_Icon_SensError: images/modal_screen_icons/Red_SensorError.png
Grn_Icon_Wifi: images/modal_screen_icons/Green_wifi.png
Red_Icon_Ticket: images/modal_screen_icons/Red_TroubleTicket.png
[Images PaletteB]
# Takeoff Sequence
Icon_Fly_Button: images/takeoff_sequence/Icon_Fly_Button.gif
Icon_Fly_Btn_New: images/takeoff_sequence/Icon_Fly_Button_New.png
Icon_Fly_Btn_Grey_New: images/takeoff_sequence/Icon_Fly_Button_Grey_New.png
Icon_Fly_Btn_for22: images/button_icons/Icon_Fly_For_Prompt.png
# Spinner
Spinner00: images/spinner/spinner_0.gif
Spinner01: images/spinner/spinner_1.gif
Spinner02: images/spinner/spinner_2.gif
Spinner03: images/spinner/spinner_3.gif
Spinner04: images/spinner/spinner_4.gif
Spinner05: images/spinner/spinner_5.gif
Spinner06: images/spinner/spinner_6.gif
Spinner07: images/spinner/spinner_7.gif
Spinner08: images/spinner/spinner_8.gif
Spinner09: images/spinner/spinner_9.gif
Spinner10: images/spinner/spinner_10.gif
Spinner11: images/spinner/spinner_11.gif
Spinner12: images/spinner/spinner_12.gif
Spinner13: images/spinner/spinner_13.gif
Spinner14: images/spinner/spinner_14.gif
Spinner15: images/spinner/spinner_15.gif
Spinner16: images/spinner/spinner_16.gif
Spinner17: images/spinner/spinner_17.gif
Spinner18: images/spinner/spinner_18.gif
#Motor Shut Off
Icon_White_A_Btn: images/motor_shut_off/Icon_White_A_Btn.png
Icon_White_B_Btn: images/motor_shut_off/Icon_White_B_Btn.png
Icon_White_Pause_Btn: images/motor_shut_off/Icon_White_Pause_Btn.png
Icon_A_Btn_for22: images/button_icons/Icon_A_For_Prompt.png
Icon_B_Btn_for22: images/button_icons/Icon_B_For_Prompt.png
Icon_Pause_for22: images/button_icons/Icon_Pause_For_Prompt.png
#Alert Icons
Icon_VertBattRedBar: images/alerts/VerticalBatt_Red.png
Icon_VertBattOrangeBar: images/alerts/VerticalBatt_Orange.png
Icon_VertBattAlertFrame: images/alerts/VerticalBatt_Frame.png
Red_Icon_GPS: images/alerts/GPS_Lost_02.png
Icon_ArtooforBatteryAlert: images/alerts/Battery_Artoo.png
Icon_ArtooNew: images/alerts/ArtooRCNew.png
Icon_AutoShutdownZ: images/alerts/ZZZ.png
Icon_Artoo_AutoShutoff: images/alerts/Artoo_shutoff.png
Icon_ArtooBattWarning_Level1: images/alerts/ArtooBatt_ChargeBeforeFlight.png
Icon_ArtooBattWarning_Level2: images/alerts/ArtooBatt_LandSoon-Recharge.png
Icon_ArtooBattWarning_Level3: images/alerts/ArtooBatt_AutoRTH.png
Icon_FlightBattWarning_Level1: images/alerts/FlightBatt_LandSoon-Recharge.png
Icon_FlightBattWarning_Level2: images/alerts/FlightBatt_AutoLand.png
Label_FlightBattOrange: images/alerts/FlightBatt_Orange.png
Label_FlightBattRed: images/alerts/FlightBatt_Red.png
Icon_ArtooBatt_Unkown: images/alerts/ArtooBatt_unknown.png
#Logo Startup Sequence
Icon_Solo_Startup_Logo: images/logo_startup/Solo_Logo.png
Icon_ArtooRC: images/alerts/ArtooRC.png
#Basic Telem Update
Label_UD_Alt: images/basic_telem_update/Altitude.png
Label_UD_FlightBatt: images/basic_telem_update/FlightBatt.png
Label_UD_Home: images/basic_telem_update/Home.png
Icon_UD_Bolt: images/basic_telem_update/BattBolt.png
Icon_UD_GPS: images/basic_telem_update/GPS_New.png
Red_Label_UD_FlightBatt: images/basic_telem_update/Red_FlightBatt.png
Red_Icon_UD_GPS: images/basic_telem_update/Red_GPS_New.png
Unit_UD_Feet: images/basic_telem_update/New_foot.png
Unit_UD_Meter: images/basic_telem_update/New_Meter.png
Unit_UD_Percent: images/basic_telem_update/New_Percent.png
Unit_UD_Red_Percent: images/basic_telem_update/Red_New_Percent.png
# unicode glyphs
Degree40White: images/camera_angle/degree-digit-40-white.png
Degree40Green: images/camera_angle/degree-digit-40-green.png
# Battery Check
Battery_Frame: images/battery_check_icon/Battery_Check_Frame.png
Battery_Left_RedCap: images/battery_check_icon/Left_RedCap.png
Battery_Left_GreenCap: images/battery_check_icon/Left_GreenCap.png
Battery_Right_GreenCap: images/battery_check_icon/Right_GreenCap.png
[Fonts]
HelveticaNeueLTProRoman26: path=fonts/HelveticaNeueLTPro-Roman.otf, size=26
HelveticaNeueLTProLightLarge: path=fonts/HelveticaNeueLTPro-Lt.otf, size=30
HelveticaNeueLTProLightLargeWhiteOnBlack: path=fonts/HelveticaNeueLTPro-Lt.otf, size=30, color=#ffffff, bg=#000
HelveticaNeueLTProLightWhiteOnBlack: path=fonts/HelveticaNeueLTPro-Lt.otf, size=16, color=#ffffff, bg=#000
HelveticaNeueLTProRoman: path=fonts/HelveticaNeueLTPro-Roman.otf, size=16, color=#bcbdbe
HelveticaNeueLTProRoman16DarkGrey: path=fonts/HelveticaNeueLTPro-Roman.otf, size=16, color=#555656
Helvetica16: path=fonts/HelveticaNeueMedium.ttf, size=16
Copenhagen25BlueDigits: path=fonts/Copenhagen_Light.otf, size=25, start_ch=0, end_ch=9, color=#2a9ad5
Copenhagen40: path=fonts/Copenhagen_Light.otf, size=40, start_ch=0, end_ch=9
Copenhagen40Green: path=fonts/Copenhagen_Light.otf, size=40, start_ch=0, end_ch=9, color=#86C441
Copenhagen85: path=fonts/Copenhagen_Light.otf, size=85, start_ch=0, end_ch=9

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,25 @@
The following files were removed from this directory for licensing reasons:
Copenhagen_Light.otf
HelveticaNeue.dfont
HelveticaNeueLTPro-Lt.otf
HelveticaNeueLTPro-Roman.otf
HelveticaNeueMedium.ttf
.dfont files are sometimes an archive of several different variants of .ttf files
by default, PIL just uses the first, and doesn't provide a way to specify which one to use.
http://fondu.sourceforge.net/ is a tool that extracts each of them into individual .ttf files (install on OS X via `brew install fondu`).
This was used to generate HelveticaNeueMedium.ttf from HelveticaNeue.dfont
Alternatively, 'Roboto' is an Apache Licensed Free Font by google that can be gotten from here:
https://material.io/guidelines/resources/roboto-noto-fonts.html
( wget https://storage.googleapis.com/material-design/publish/material_v_11/assets/0B0J8hsRkk91LRjU4U1NSeXdjd1U/RobotoTTF.zip
and we might be able to get away with using these instead of helveticaNeue?
Roboto-Regular arrives in the zip as a .ttf, converting it to .otf is easy with any online tool for this, eg: https://everythingfonts.com/ttf-to-otf
finally, to use Roboto where the system is expecting helvetica we'll do this:
cp Roboto-Regular.otf HelveticaNeueLTPro-Lt.otf
cp Roboto-Regular.otf HelveticaNeueLTPro-Roman.otf
cp Roboto-Regular.otf HelveticaNeueMedium.ttf
cp Roboto-Regular.otf Copenhagen_Light.otf

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 489 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 511 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 127 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 141 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Some files were not shown because too many files have changed in this diff Show More