1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2024-12-11 19:24:10 +01:00
Commit Graph

3904 Commits

Author SHA1 Message Date
James Cotton
7d7d03cfd0 OP-193 OP-511: Basic code for camera stabilization. Currently tune range with
the servo endpoints and neutral.
2011-06-15 11:18:29 -05:00
Mathieu Rondonneau
ab4e15e9aa OP-423 also claim (at run-time) the remaining un-used bytes (between heap and end of RAM) that are for data growth (needed at compile time).
CAREFULL: the heap section need to be the last section in RAM to avoid overwritting data...

Tested with GCC 4.5.2 this gives 1K of free bytes usable in heap right away (including the 200 bytes saved just by using the new gcc).
This does not include any code re-org yet!
2011-06-14 22:13:30 -07:00
Andrew Thoms
22269b658d OP-532 improved UI layout for new controls 2011-06-15 00:39:13 -04:00
Mathieu Rondonneau
3780de8d3e OP-423 port to OP (heap2) the previous changes done in CC (heap1) (see c95b199166)
I managed to test CC with heap2 changes and the init stack claimed back to heap once scheduler starts.

the changes of this commit are OP related (just cleanup on CC side):
Arch specific stuff (in reset vector) to hide this from portable code:
     - switch back to MSP stack before starting the scheduler so that the sheduler can use the IRQ stack (when/if needed).
     - call the C portable function in heap2 to claim some stack back (the number to claim is taken from linker file).
     - start the scheduler from reset vector (I move this here from main because it make sense to not go back to C (so that I don't need to copy the rolled stack in case the sheduler returns). This make it more clean.
     - Also I have added the call to the mem manager if sheduler return. that way, we don't reset indefinitely if memory runs out. We will go to this handler and figure things out (right now, it's just looping but at least not rebooting. Probably trap NMI would be better (later improvement).
2011-06-14 20:10:53 -07:00
James Cotton
144f36dfb7 Merge branch 'bugfix-flight' 2011-06-14 10:02:55 -05:00
James Cotton
d7e08e5686 Merge branch 'heli_improvements' 2011-06-14 09:13:52 -05:00
Andrew Thoms
748d49817f OP-532 Save and Load UI elements to new GUIConfigData UABObject Field 2011-06-14 00:53:42 -04:00
Mathieu Rondonneau
c95b199166 OP-423 do the arch specific stuff (in reset vector) to hide this from portable code:
- switch back to MSP stack before starting the scheduler so that the sheduler can use the IRQ stack (when/if needed).
 - call the C portable function in heap1 to claim some stack back (the number to claim is taken from linker file).
 - start the scheduler from reset vector (I move this here from main because it make sense to not go back to C (so that I don't need to copy the rolled stack in case the sheduler returns). This make it more clean.
 - Also I have added the call to the mem manager if sheduler return. that way, we don't reset indefinitely if memory runs out. We will go to this handler and figure things out (right now, it's just looping but at least not rebooting. Probably trap NMI would be better (later improvement).

The part missing for this part is the weak attribute for the function in heap1.c so that we don't have to update everything with empty stub.
I think the weak atrribute for C function called in assembly is arch dependent so I am not sure if this is possible (will look into it, maybe somebody outthere nows).
Right now, it's heap1 dependent and won't work with heap2. I will clean that up the next couple of days.

I did some test and it looks good.
this is without init code re-organization so we don't free as much as we will be it's good starts.

This compile with sim_posix (since it does not affect portable code) so this is really clean.
I only tested this with CC. I will port it for OP when I will work on heap2.
2011-06-13 21:49:17 -07:00
Andrew Thoms
1c1881663f OP-532 Save and recall the new GUI config data to UAVObject 2011-06-14 00:10:28 -04:00
Mathieu Rondonneau
0e6abd4f39 Merge branch 'master' into OP-423_Mathieu_Change_Init_To_Reduce_Memory_Footprint 2011-06-13 18:51:22 -07:00
Andrew Thoms
23f9dc42cc OP-532 Created union of struct to assist in type casting of GUI settings
to UAVObject
2011-06-13 21:40:39 -04:00
Andrew Thoms
31339e0414 OP-532 Modified system settings UAVObject to have GUI config data 2011-06-13 21:39:47 -04:00
Andrew Thoms
651c65ad84 OP-532 Started with GUI configuration save to OP hardware 2011-06-13 20:46:53 -04:00
Mathieu Rondonneau
1f54e32ea9 OP-423 also add changes to OP. (I can not test it because I don't have a board so only compile test) 2011-06-13 17:10:14 -07:00
elafargue
b4d65102b1 Add "..." on import and export buttons 2011-06-13 18:59:53 +02:00
elafargue
54d57f1815 Merge branch 'bugfix-ground' of git.openpilot.org:OpenPilot into bugfix-ground 2011-06-13 18:56:30 +02:00
Pip
7b3241cca9 Fixed GCS export file selection problem - in windows. 2011-06-13 16:12:04 +01:00
elafargue
8807d6bf0f OP-534 Disable arming completely when staring calibration procedure. Tells user to reconfigure arming manually afterwards. 2011-06-13 12:14:40 +02:00
James Cotton
404c026188 Patch from Zippe to use cycle timer for CPU monitoring. 2011-06-13 00:24:30 -05:00
Mathieu Rondonneau
7598e898fa OP-423 Step-1: split system stack and implement water mark for IRQstack:
- use IRQStack for ISRs (at begening of SRAM) (let's call it the irq stack)
- use end of heap for stack needed during initialization (let's call it the init stack).
- the systemStats in GCS indicate the remaining bytes in the IRQ stack (this is realy usefull to monitor our (nested) IRQs.

This is the base ground to provide as much memory as possible available at task creation time.

Next step is to re-organize the initialization in order to move all the init out of the thread's stacks onto the init stack.
This will provide as much memory as possible available at task creation time.
Basically the stack during initialization will be destroyed once the scheduler starts and dynamic alloc are made (since the init stack is at the end of the heap). We will need to make sure we don't clobber the heap during initialization otherwise this will lead to stack corruption.
2011-06-12 20:23:00 -07:00
Andrew Thoms
c8939e6e4f Merge branch 'heli_improvements' into OP-532_Heli_GUI_Improvements 2011-06-12 23:21:00 -04:00
Andrew Thoms
2dab73a128 minor updates to UI code for visibility of controls 2011-06-12 00:31:22 -04:00
Andrew Thoms
6ad60a7971 Implemented UI code for new ccpm options checkboxes and sliders 2011-06-12 00:17:32 -04:00
James Cotton
0f5fe54329 FlashFS: Should clear the 0 sector when wiping flash chip, not 10 bytes in. 2011-06-11 22:31:51 -05:00
Andrew Thoms
86f5d63045 Changed names of new ui components 2011-06-11 22:35:19 -04:00
Andrew Thoms
2454596211 Modified names of new controls 2011-06-11 22:21:33 -04:00
Andrew Thoms
f9bddb107d changed label on single servo to 1st servo 2011-06-11 22:15:56 -04:00
Andrew Thoms
716f87e79b Added linking between new controls on ui 2011-06-11 22:13:55 -04:00
Andrew Thoms
597838ba0c Update CCPM config ui file for new options 2011-06-11 22:08:36 -04:00
zedamota
689eb2c588 Minor Cleaning 2011-06-12 00:49:05 +01:00
zedamota
cac495cebb Fix custom mixer throttle 1 curve. 2011-06-11 19:39:24 +01:00
dankers
9c6f2e0aea New deluxe linear dials, new files and not used by default so commiting to master. 2011-06-11 23:24:59 +10:00
Oleg Semyonov
5d0c7fe42e Merge branch 'master' into heli_improvements 2011-06-11 12:19:07 +03:00
Oleg Semyonov
a13c8470d3 Merge branch 'master' of ssh://git.openpilot.org/OpenPilot 2011-06-10 23:14:16 +03:00
Corvus Corax
a7841a523a bugfix: forgot to add header file (pios.posix) 2011-06-10 22:04:54 +02:00
Oleg Semyonov
52d9438847 Merge remote branch 'origin/bugfix-ground' 2011-06-10 23:02:45 +03:00
Corvus Corax
47a6643318 PiOS.posix: ported PiOS_CRC to PiOS.posix to fix compilation error on OpenPilot introduced by new dependency 2011-06-10 17:16:15 +02:00
dankers
d9607c44d8 Minor update from London flyer, readability on smaller screens improvement 2011-06-10 23:51:01 +10:00
dankers
314f596940 Update to Ed's PFD from London Flyer, adds slight look and feel improvments and removes the orange look.
Uses some look and feel from Guy's work also.
2011-06-10 21:40:30 +10:00
elafargue
c79cc1eb1a OP-376 Make all dialogs more dynamic to cope with smaller screens & resizes. 2011-06-09 18:03:19 +02:00
Oleg Semyonov
bc3b23a4a2 Merge branch 'bugfix-ground' into heli_improvements 2011-06-09 15:58:11 +03:00
elafargue
9d89f1e180 OP-528 Make the manual and maximum RPY rates available in the config gadget 2011-06-09 13:12:03 +02:00
Oleg Semyonov
f766642f0d Merge branch 'master' into heli_improvements
Conflicts:
	shared/uavobjectdefinition/manualcontrolsettings.xml
2011-06-09 10:11:27 +03:00
elafargue
1ac92643b7 Fix 'smart' throttle/flight mode channel assignment, it works now. Someone please test & report.
OP-522
2011-06-08 22:15:10 +02:00
James Cotton
3a3c88cefa OP-522: When you unchecked Run Calibration it forces the Throttle neutral to 5%
of the range and the FlightMode to 50%.

Sorry there's also some indentation changes mixed into this patch.
2011-06-08 12:21:43 -05:00
zedamota
dcccae7270 Change throttle default max value to 0.95 on multis 2011-06-08 18:21:29 +01:00
James Cotton
5aa8224181 Merge branch 'bugfix-flight' of ssh://git.openpilot.org/OpenPilot into bugfix-ground 2011-06-08 12:02:52 -05:00
James Cotton
f361603a10 OP-521: Fixed reversal of flight mode in GCS properly now I have hardware to
test it :)
2011-06-08 12:01:47 -05:00
dankers
0b59c34afb Change Accel kP default to 0.03
Lots of testing with this but would like more thoughts as well.
2011-06-09 00:47:09 +10:00
James Cotton
68d6e7deba OP-521: Fixed dangerous UI bug that reversed flight mode switch on GCS relative
to flight when flight mode switch input range was reversed.  Also switche to
using static field method technique for compiler error checking (preferrable
when possible)
2011-06-07 17:35:21 -05:00