Commit Graph

438 Commits

Author SHA1 Message Date
Andrew Tridgell 0fdef97c76 AP_Notify: allow ChibiOS to use PixracerLED driver 2018-02-14 18:27:00 +11:00
Mark Whitehorn d200f30cd7 AP_Notify: add ToneAlarm backend for ChibiOS 2018-02-11 14:55:23 +11:00
Andrew Tridgell 14dcee75f1 AP_Notify: added video recording flag 2018-02-08 17:36:33 +11:00
Andrew Tridgell b622fe143e AP_Notify: added have_pos_abs flag
used to notify of high-quality GPS lock
2018-02-08 17:36:33 +11:00
Andrew Tridgell 7d2e3c0d04 AP_Notify: fixed build warning 2018-02-07 20:33:45 +11:00
Andrew Tridgell 65b762ddfe AP_Notify: support OLED display on ChibiOS 2018-02-07 20:33:45 +11:00
mirkix 0926802013 AP_Notify: add new board PocketPilot 2017-12-27 16:01:55 +00:00
Andrew Tridgell cd51c71857 AP_Notify: removed create() method for objects
See discussion here:

  https://github.com/ArduPilot/ardupilot/issues/7331

we were getting some uninitialised variables. While it only showed up in
AP_SbusOut, it means we can't be sure it won't happen on other objects,
so safest to remove the approach

Thanks to assistance from Lucas, Peter and Francisco
2017-12-14 08:12:28 +11:00
HeBin 1918b07705 AP_Notify: add Robsense PhenixPro Devkit Board support 2017-11-22 10:10:21 -08:00
Georgii Staroselskii a18cf45798 AP_Notify: enable AP_BoardLED for Navio 2017-11-17 09:20:55 -08:00
Georgii Staroselskii 4e02637f23 AP_Notify: add Led_Sysfs and use in Navio2
Navio2 exports its leds via /sys/class/leds interface. We reuse it in
order not to conflict with GPIO_Sysfs. Otherwise we'd get a Device Busy
error in GPIO_Sysfs::_export_pin().
2017-11-17 09:20:53 -08:00
Georgii Staroselskii 8fcd30c611 AP_HAL_Linux: use GPIO_Sysfs for Navio 2 2017-11-17 09:18:35 -08:00
Peter Barker 23882aaab0 AP_Notify: only play not-ready-or-not-finished tone if we've been ready 2017-11-08 19:08:23 +09:00
Peter Barker 901fe55d04 AP_Notify: play sad tone if prearm checks start to fail 2017-11-08 19:02:44 +09:00
Georgii Staroselskii 8a28556ae1 AP_Notify: use RCOutputRGBLedInverted for Edge 2017-10-20 13:03:08 -07:00
Georgii Staroselskii ef3cad7833 AP_Notify: add RCOutputRGBLedInverted
Some RGB leds controlled with an inverted logic. This class addresses
this.
2017-10-19 15:09:49 -07:00
Andrew Tridgell f00f650f4f AP_Notify: fixed internal toshiba LED
we need to probe for both internal and external on all boards, not just
FMUv3
2017-10-07 12:34:47 +11:00
Lucas De Marchi 9463dbb408 AP_Notify: add static create method 2017-09-26 03:01:21 +01:00
Lucas De Marchi 15bfa940a7 AP_Notify: remove raspilot 2017-09-12 15:06:19 -07:00
Andrew Tridgell 697131e94a AP_Notify: support dual I2c toshiba LEDs
This restructures AP_Notify to allow for multiple backends of the same type.
2017-09-11 10:39:39 -07:00
Matt 5b605d6e1c AP_Notify: Fix for Oreo LED gyro init inidication
If parameter INS_GYRO_CAL is disabled, usually because operator is
arming on a moving vehicle such as a boat, the Oreo LEDs would wait
indefinitely for a gyro calibration that will never happen.  This
removes that dependency.  The LEDs will strobe blue only when gyros are
actually initializing. Not before.  Consequently, this greatly
simiplifies that portion of the code.
2017-07-27 20:43:58 +09:00
Randy Mackay 0d5c98ad45 AP_Notify: add gps glitch notification 2017-07-27 14:16:23 +09:00
Peter Barker eb1f22fc67 AP_Notify: add singleton 2017-07-09 17:17:29 -04:00
Georgii Staroselskii 0203b4c1b1 AP_Notify: RCOutputRGBLed: remove cork()
cork()/push() will be called in the vehicle code.

The issue that led to this fix was as follows:
- on a Linux board (Navio 2) usage of this class didn't yield any PWM on
  the expected outputs on Rover (Copter and Plane worked as expected)

After dicsussion at #6339 rover code was changed (541538f) to use make
proper use of SRV_Channels API.

This fix is also the consequence of the discussion. TL;DR: the output is
only done when commanded by the vehicle.
2017-06-27 11:46:41 -07:00
murata ac8234cdf0 AP_Notify: Change to the value of boolean. 2017-06-07 08:06:44 +09:00
Matt f02bfab7fe AP_Notify: OreoLED rework
Reworked the process flow.  Created the aviation vs rover themes.
Created visual operator feedback for prearm checks, GPS, EKF, gyro init,
radio failsafe, and low battery. This also includes work by Hugh Eaves
to open up the full extended properties of the Oreo LEDs.  Not only are
far more functions available, but you can override and do custom things
via mavlink.
2017-06-06 12:59:03 +09:00
Matt 34d305083d AP_Notify: Complete rework of notify device selection
Jaime did the hard work on this one.  He reworked notify device
selection to take place on init rather than on compile like before.  The
notify decivces are mostly set on compile using preprocessor directives
based on board type.  I created NTF_OREO_THEME.  This will allow the
user to enable/disable the OreoLED driver. And it also allows you to
select between aircraft and rover lighting themes. This allows the Solo
to use the OreoLEDs, and doesn't waste the memory on vehicles not
equipped with Oreo LEDs. The OreoLED driver is restricted to Pixhawk 2
FCs by proprocessor directive due to memory constraints. So it will
never work by accident on another board.

There is also a new notify flag for GPS Fusion.  This flag is true when
the EKF is happy with the GPS, actively using it for position
information.
2017-06-06 12:58:28 +09:00
Matt 545e417348 AP_Notify: Remove solo specific tones, align with px4 tones
Evaluated solo specific tones file vs standard px4 tones files.  The
only thing the Solo had that standard ArduPilot does not have is the GPS
unplugged tone and the power off tone.
* Some tones have a different tune, which is fine. We want the Solo to
sound like ArduPilot if it is running ArduPilot.
* GPS unplugged tone abandoned. Determined to be unnecessary.
* Power off tone merged into standard px4 tones file. Smart battery
signalling a power off will make use of this tone. Has application for
any smart battery equipped vehicle, not just Solo.
* Removed all references and dependencies to `ToneAlarm_PX4_Solo.cpp`
and `ToneAlarm_PX4_Solo.h`
* Deleted `ToneAlarm_PX4_Solo.cpp` and `ToneAlarm_PX4_Solo.h` since
they're no longer needed.
2017-06-06 10:38:40 +09:00
Peter Barker 57c0551260 AP_Notify: remove non-required initialisation of variables
These objects are dynamically allocated, and we zero the memory
as we allocate them
2017-05-08 10:29:25 +09:00
Peter Barker ec37d863bc AP_Notify: simplify scrolling code 2017-05-08 10:29:22 +09:00
mirkix db7cf388f2 AP_Notify: enable display for BeagleBone Blue 2017-05-04 16:25:06 -07:00
Pierre Kancir a6eb337438 AP_Notify: remove unused variables 2017-05-02 18:14:40 +01:00
Peter Barker ece0e84ddf AP_Notify: reindent (NFC) 2017-05-02 08:50:41 +10:00
Peter Barker ce5739f1a0 AP_Notify: remove semaphores protecting pixels
The semaphore-take-forevers were absolutely killing performance.

We can take some random pixel corruption to avoid vehicles crashing.
2017-05-02 08:50:41 +10:00
Peter Barker a3f4a523b2 AP_Notify: convert unknown characters to spaces 2017-05-01 16:21:55 +01:00
Vinicius Juvinski c3d5aaa21c AP_Notify: add AP_BoardLED support for BBBMini 2017-04-19 01:33:50 -07:00
Andrew Tridgell 6a1c58b5a5 AP_Notify: fixed RGB led output to use SRV_Channels 2017-04-18 08:41:24 +10:00
Pierre Kancir 2f50e865c2 AP_Notify: example fix travis warning
missing function declaration
implicit cast
some style fix
2017-04-13 19:56:16 +01:00
murata 1a781f44cc AP_Notify: Correct the display area clear of the text message. 2017-03-22 01:24:21 +00:00
murata 33f91b5af5 AP_Notify: whitespace changes 2017-03-17 01:29:11 +00:00
murata 3a6f8d2136 AP_Notify: Preprocessor out EMOJI code group with character bitmap. 2017-03-17 01:26:54 +00:00
Peter Barker bcb0ead71a AP_Notify: improve display detection
Create probe function for displays
Use a mask to determine I2C buses to probe
2017-03-17 00:37:40 +00:00
Peter Barker d170396acf Notify: Display: blank text line after 10s 2017-02-27 09:02:09 +09:00
Peter Barker da03cf29d6 Notify: Display: pad GPS status/sat count to fix stray chars 2017-02-27 08:14:25 +09:00
Jacob Walser f3fa8403f8 AP_Notify: Add tone and light pattern for leak detection 2017-02-21 11:26:14 +11:00
murata eb6cdd27fb AP_Notify: Change from magic number 0 to definition name. 2017-02-18 14:12:36 +00:00
proficnc 2165a8832b Reduce the risk of the buzzer affecting IMU's during the battery alarm 2017-02-02 07:47:10 +11:00
murata 3ce2ca488a AP_Notify: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
mirkix 2f8452b8a6 AP_Notify: Add BeagleBone Blue 2017-01-26 23:15:52 -08:00
Randy Mackay 0ce8cf3cf4 AP_Notify: remove ToshibaLED_PX4 2017-01-27 15:24:09 +09:00
Randy Mackay 98db17e9a1 AP_Notify: example sketch uses ToshibaLED_I2C driver 2017-01-27 15:24:09 +09:00
Randy Mackay d8ae56f455 AP_Notify: pixhawk and vrbrain use in-tree ToshibaLED 2017-01-27 15:24:09 +09:00
Randy Mackay eedfe13f9c AP_Notify: fix ToshibaLED_I2C and check both I2C buses
the rgb value was never being set meaning the led was always off
external bus is checked first
2017-01-27 15:24:09 +09:00
Randy Mackay 0e20c8040c AP_Notify: rgbled methods protected and add override
no functional change
2017-01-27 15:24:09 +09:00
Randy Mackay b5573f6665 AP_Notify: add PX4_V4 check to PixRacerLED 2017-01-27 11:01:17 +09:00
iseries1 4467a2cd16 AP_Notify: enable PixRacer onboard LED
Enable PixRacer onboard LED to show status of flight controller
2017-01-27 11:01:17 +09:00
Randy Mackay 8041a7f183 AP_Notify: add PixRacerLED 2017-01-27 11:01:17 +09:00
murata 315f7c6a9a AP_Notify: Represent the base of ASCII numeric code with letters. 2017-01-26 23:59:11 +01:00
Michael du Breuil 9346117c01 Notify: Update for GPS types 2017-01-25 03:34:26 +00:00
Randy Mackay 1300a9d3c6 AP_Notify: minor formatting fixes
no functional change
2017-01-23 15:07:21 -08:00
Randy Mackay 4691bc76f3 AP_Notify: display gets semaphore protecting display buffer 2017-01-23 15:07:21 -08:00
Randy Mackay 80c1433682 AP_Notify: Display backend methods become void
We never use the return value so might as well remove it
2017-01-23 15:07:21 -08:00
Randy Mackay cb1d1df03a AP_Notify: reorder flags
This tiny improvement allows the flags above battery voltage to be squeezed into the same byte
2017-01-23 15:07:20 -08:00
Randy Mackay e085ae1ec8 AP_Notify: add set_flight_mode_str method
This allows the vehicle code to set a short string for the flight mode
2017-01-23 15:07:20 -08:00
Randy Mackay acff67c718 AP_Notify: Display_SH1106 command stucture clarification
renaming the elements of the structure makes their purpose more clear
2017-01-23 15:07:20 -08:00
Randy Mackay fd365de5f8 AP_Notify: Display structures PACKED 2017-01-23 15:07:20 -08:00
Randy Mackay 843210cac2 AP_Notify: Display bus passed into contructor 2017-01-23 15:07:20 -08:00
Randy Mackay 682fc759f1 AP_Notify: minor formatting and comment changes
No functional change
2017-01-23 15:07:20 -08:00
Randy Mackay d12e0d6a82 AP_Notify: Display send_text made not static 2017-01-23 15:07:20 -08:00
Randy Mackay 07c08c09a3 AP_Notify: small change to Display health logic 2017-01-23 15:07:20 -08:00
Randy Mackay 847c68bf72 AP_Notify: remove comment 2017-01-23 15:07:20 -08:00
Randy Mackay 21a95a3b0a AP_Notify: Display screenpage variable made part of class 2017-01-23 15:07:20 -08:00
Randy Mackay c5ba54c3fe AP_Notify: adjust Display class structure
This makes the display architecture closer to our other frontend/backend splits
Added check that display is initialised successfully in hw_init
Renamed _update_timer to just _timer to make more consistent with other drivers
2017-01-23 15:07:20 -08:00
Randy Mackay 0690315814 AP_Notify: remove unused methods and member from Display 2017-01-23 15:07:20 -08:00
Randy Mackay f0c6fd3038 AP_Notify: resolve compiler warning in Display 2017-01-23 15:07:20 -08:00
Randy Mackay 9eb6d18d8e AP_Notify: add override to display methods 2017-01-23 15:07:20 -08:00
kozinalexey ed4115c4e3 AP_Notify: Support for OLED display by Alexey Kozin 2017-01-23 15:07:20 -08:00
murata 34e491f168 AP_Notify: Add a NULL pointer check. 2017-01-22 23:05:53 +01:00
murata 8a32d09264 AP_Notify: Change arming time count check. 2017-01-19 17:42:46 +00:00
Lucas De Marchi fd0e4164b9 AP_Notify: DiscoLED: keep includes sorted 2017-01-19 08:59:00 -08:00
Mathieu OTHACEHE 701d91f20c AP_Notify: Disco: use new led sysfs backend or, if not available, legacy
pwm backend to drive leds.

In new Disco releases, the led sysfs api will replace the pwm sysfs
api to drive the tricolor led.

Keep pwm sysfs api for compatibility reasons.
2017-01-19 08:24:48 -08:00
Lucas De Marchi 5472bc4de1 Global: change Device::PeriodicCb signature
Remove bool return as it's never being used and not supported on PX4.
2017-01-14 10:03:54 +11:00
murata 13ad06e652 AP_Notify: Change on / off of LED to ternary operator. 2016-12-30 15:02:16 -08:00
Andrew Tridgell dbd192971f AP_Notify: fixed threading on toshibaled i2c 2016-11-09 17:08:02 +11:00
Andrew Tridgell a9cb03ad74 AP_Notify: fixed threading in two notify backends 2016-11-09 17:08:02 +11:00
Mathieu OTHACEHE 60ba91aead Disco: add buzzer support
Use ToneAlarm class to handle Disco buzzer.
2016-11-07 18:02:21 -03:00
Mathieu OTHACEHE 37237a5735 Disco_LED: Do not alloc PWM_Sysfs_Bebop objects
Using PWM_Sysfs_Base::init method, we don't need anymore to alloc memory
for PWM_Sysfs_Bebop objects.
2016-11-07 14:59:31 -02:00
Mathieu OTHACEHE 5e42800b5e Disco: add LED support
Use RGBLed generic implementation to support Disco LED.
2016-10-26 11:56:11 -03:00
Mathieu OTHACEHE 152edf7189 Global: remove mode line from headers
Using a global .dir-locals.el file is a better alternative than
reincluding the same emacs header in every file of the project.
2016-10-24 09:42:01 -02:00
Lucas De Marchi ae53920e5b build: don't build examples with old build system
We currently check examples are buildable with waf which doesn't need
the libraries to be specified in a make.inc file.  Having the makefiles
there is misleading since people try to build and realize the build is
broken.
2016-10-11 13:03:08 +11:00
Andrew Tridgell 74182b6b3d AP_Notify: auto-start oreoled driver if enabled 2016-08-10 19:54:00 +10:00
LukeMike 6748bdb1a4 AP_Notify/ExternalLED: added HIGH and LOW definition 2016-08-07 20:31:51 +10:00
LukeMike 858c22ae21 VRBRAIN /AP_Notify: enabled tone_alarm for all VirtualRobotix boards 2016-08-07 20:31:51 +10:00
Andrew Tridgell 7fe1c58575 AP_Notify: added handling of PLAY_TUNE message 2016-07-22 15:00:17 +10:00
Andrew Tridgell c471b635b3 AP_Notify: added NTF_LED_OVERRIDE parameter
when this is set the board RGB LED will be controlled by MAVLink
instead of internally. This is useful for cases where the LED patterns
and colours needed are specified by an external authority (such as the
OBC organisers)
2016-07-19 13:37:13 +10:00
Luiz Ywata 1f0f36d603 AP_Notify: NavioLED_I2C: use I2CDevice interface 2016-07-14 17:32:33 -03:00
Lucas De Marchi a34a5c1aa3 AP_Notify: Display_SSD1306_I2C: Fix after conversion to I2CDevice
- Initialize device on hw_init() method, allowing it not to be
      present
    - Add missing lock
    - Add packed attribute to structs
    - Move defines to source file
2016-07-14 17:32:33 -03:00
Luiz Ywata f26692de92 AP_Notify: Display_SSD1306_I2C: use I2CDevice interface 2016-07-14 17:32:33 -03:00
Lucas De Marchi 213c38afaf AP_Notify: ToshibaLED_I2C: add part number comment
It's easier to find the datasheet for this driver with the part number
rather than a generic "toshiba led".
2016-07-14 17:32:33 -03:00
Lucas De Marchi 5618008935 AP_Notify: ToshibaLED_I2C: Fix driver after I2CDevice conversion
- Add missing semaphore take on bus
    - Initialize device on init function rather than constructor: the
      constructor may run before I2CDeviceManager is initialized since our
      AP_Notify objects are static so it can't be used.
2016-07-14 17:32:33 -03:00
Luiz Ywata 0b69e43464 AP_Notify: ToshibaLED_I2C: use I2CDevice interface 2016-07-14 17:32:32 -03:00
Andrew Tridgell 26ef71e130 AP_Notify: added tuning error tones 2016-05-28 17:33:30 +10:00
Vinicius Juvinski ed2718a183 AP_Notify: Buzzer: change pin 11(P8_31) to pin 12(P8_32)
Avoid boot conflict during power on.
2016-05-19 17:22:27 -03:00
Ricardo de Almeida Gonzaga e31a37e7a8 AP_Notify: Fix typos 2016-05-13 19:20:05 -03:00
Vinicius Juvinski 3bae8373e6 AP_Notify: play vehicle lost tone 2016-05-11 22:49:52 -03:00
Vinicius Juvinski c1dd3cb921 AP_Notify: add support for for Buzzer on BBBMini
Use GPIO P8_31 for buzzer in BBBMini
2016-05-11 22:49:52 -03:00
Andrew Tridgell 3e75fc4f3d AP_Notify: improved tones for AP_Tuning 2016-05-09 17:24:38 +10:00
Andrew Tridgell 9cd4f8a856 AP_Notify: added tones for tuning stages 2016-05-07 18:34:13 +10:00
Jonathan Challinger a7f959e6f9 AP_Notify: add ToneAlarm_PX4_Solo 2016-04-21 10:05:36 +10:00
Jonathan Challinger d2ca2d2e0e AP_Notify: change OREOLED config to ifdef 2016-04-21 10:04:37 +10:00
Jonathan Challinger dba55182af AP_Notify: add flags.powering_off 2016-04-21 10:04:37 +10:00
pepevalbe abb667fac3 AP_Notify: enable/disable buzzer in Linux based boards 2016-04-14 08:59:11 +09:00
pepevalbe c00cbcf076 AP_Notify: enable/disable buzzer in PX4 based boards 2016-04-14 08:59:08 +09:00
pepevalbe c9862b1502 AP_Notify: New parameter to enable/disable buzzer 2016-04-14 08:59:06 +09:00
Lucas De Marchi 4467929692 AP_Notify: add class to turn LED off
On early versions of minlure an RGB LED was wrongly placed next to the
barometer, causing trouble on it.

Additionally depending on the LED intensity it may be a pain to leave it
turned on for boards supposed to be used for bench testing. This allows
to disable the LED by software so we don't have to remove it.
2016-03-09 20:46:06 -03:00
Paul Riseborough 1e8af3dea4 AP_Notify: Add tone sequence to alert user when throw detector is armed
Use a medium tempo ascending three tone sequence with sufficient gap to allow the throwing action to be completed without distraction.
2016-03-03 12:18:16 +09:00
Staroselskii Georgii 5b3627f83e AP_Notify: made DiscreteRGBLed more generic
- made pins and polarity configurable
- got rid of all Navio specific code
2016-02-27 03:06:50 -03:00
Staroselskii Georgii ef4e3aa333 AP_Notify: renamed Navio2Led to DiscreteRGBLed 2016-02-27 03:06:50 -03:00
Staroselskii Georgii 0bd7839b9f AP_Notify: made Navio2LED a little easier to configure
- got rid of a lot of not needed defines
- allocated channels on init instead of accessing them every time
  through the HAL reference
- simpliefied hw_set_rgb()
2016-02-27 03:06:50 -03:00
Staroselskii Georgii 2ea69571ef AP_Notify: disabled boardled for Navio 2016-02-27 03:06:50 -03:00
Staroselskii Georgii 3223802431 AP_Notify: enabled leds for Navio2 2016-02-27 03:06:50 -03:00
Alexey Bulatov fc6351b929 AP_Notify: added Navio2LED driver 2016-02-27 03:06:50 -03:00
Lucas De Marchi 7d24b4d1ca AP_Notify: add missing include to use board config
<command-line>:0:18: warning: "HAL_BOARD_LINUX" is not defined [-Wundef]
../../libraries/AP_Notify/Buzzer.h:20:5: note: in expansion of macro ‘CONFIG_HAL_BOARD’
 #if CONFIG_HAL_BOARD == HAL_BOARD_VRBRAIN
     ^
In file included from ../../libraries/AP_Notify/Buzzer.cpp:18:0:
../../libraries/AP_Notify/Buzzer.h:20:25: warning: "HAL_BOARD_VRBRAIN" is not defined [-Wundef]
 #if CONFIG_HAL_BOARD == HAL_BOARD_VRBRAIN
                         ^
2016-02-19 12:35:20 -02:00
Lucas De Marchi 09d926fa11 AP_Notify: replace header guard with pragma once 2016-02-18 14:52:35 -02:00
Lucas De Marchi 5ba20b1763 AP_Notify: sanitize includes
Due to the way the headers are organized changing a single change in
an AP_Notify driver would trigger a rebuild for most of the files in
the project. Time could be saved by using ccache (since most of the
things didn't change) but we can do better, i.e. re-organize the headers
so we don't have to re-build everything.
2016-02-01 14:18:51 -02:00
Gustavo Jose de Sousa c2e3f05dbf waf: ardupilotwaf: prefix build context methods with ap_
It helps to distinguish between things from waf and things from ardupilotwaf.
2016-01-22 20:10:29 -02:00
Gustavo Jose de Sousa 3d22490397 waf: examples: use methods from bld instead of ardupilotwaf 2016-01-22 20:10:29 -02:00
Gustavo Jose de Sousa d281067bcc waf: make example binaries be placed in 'examples' dir
This commit makes examples' wscripts use ardupilotwaf.example() instead of
ardupilot.program().
2016-01-15 16:46:41 -02:00
mirkix 1744bc0850 AP_Notify: Use display with bbbmini 2016-01-07 14:32:56 -02:00
mirkix 2457558624 AP_Notify: Add display support 2016-01-07 14:32:56 -02:00
mirkix dee20a31f1 AP_Notify: Add gps_num_sats 2016-01-07 14:32:56 -02:00
Víctor Mayoral Vilches d73fc4c0b2 AP_Notify: Add PXFmini support 2016-01-05 15:35:56 -02:00
Randy Mackay 4e9f82a0e7 Notify: fix parameter description 2015-12-31 11:33:02 +09:00
pepevalbe 0d5e59eaa3 AP_Notify: configurable RGB LED brightness 2015-12-31 11:32:59 +09:00
Jonathan Challinger 99636b3e8b AP_Notify: fix example build 2015-12-29 10:46:35 -08:00
Lucas De Marchi a096703b06 Global: don't link with AP_Progmem
AP_Progmem is not used anymore.
2015-12-27 15:58:12 -02:00
Aaron Wang Shi fc2e810fb2 AP_Notify: add 1 RGB and board LEDs to BH hat 2015-12-21 15:54:30 +11:00
José Roberto de Souza 63e1d0753e AP_Notify: Add a new RGBLed implementation that works over RCOutput
To be used in boards that uses the same PWM chip to generate signal to
control motors and the status led.
2015-12-16 08:18:17 +11:00
Lucas De Marchi a4213166ae AP_Notify: remove unused AP_ADC_AnalogSource 2015-12-03 13:32:44 +11:00
Caio Marcelo de Oliveira Filho 6e7b73610d waf: add waf support 2015-12-03 07:54:30 +11:00
Julien BERAUD 0fa362ff5c AP_Notify: Fix GPIO declaration for Linux boards
Currently, the default behaviour on linux boards tries to
write LED gpios with fixed values among them. There is no way
to declare that there are no LED GPIOs.
This commit moves the declaration of the LED Gpios in AP_HAL_Boards.h
and makes AP_Notify do nothing if no LED gpio was declared
2015-12-01 07:07:26 +11:00
Caio Marcelo de Oliveira Filho daee8e8e76 AP_Notify: use millis/micros/panic functions 2015-11-20 12:33:13 +09:00
Andrew Tridgell 8f4ce7f20b build: removed all nocore.inoflag files
these were APM2 specific
2015-11-16 08:05:17 +11:00
Víctor Mayoral Vilches 4a2fe12652 AP_Notify: Add support for Erle-Brain 2 2015-11-04 13:58:24 +11:00
Víctor Mayoral Vilches b54b8aa8af AP_HAL_Linux: AP_BoardLED add support for Erle-Brain 2 2015-11-04 13:58:24 +11:00
Lucas De Marchi d2c18a5c7b AP_Notify: remove checks for HAL_BOARD_APM2 and HAL_BOARD_APM1 2015-11-04 12:14:12 +11:00
Lucas De Marchi a964ac38ec Replace use of print_P() with print() 2015-10-30 14:35:21 +09:00
Lucas De Marchi 2c38e31c93 Remove use of PSTR
The PSTR is already define as a NOP for all supported platforms. It's
only needed for AVR so here we remove all the uses throughout the
codebase.

This was automated with a simple python script so it also converts
places which spans to multiple lines, removing the matching parentheses.

AVR-specific places were not changed.
2015-10-30 14:35:04 +09:00
Lucas De Marchi f915d2ff6f AP_Notify: don't define devices for minlure
It still doesn't have a notify device.
2015-10-22 12:04:53 +11:00
Caio Marcelo de Oliveira Filho d840fc0680 AP_Notify: remove unnecessary includes from examples 2015-10-21 09:16:11 +11:00
Caio Marcelo de Oliveira Filho d51adf2523 AP_Notify: fix build of ToshibaLED_test in PX4
The unused variables were causing error due to shadowing. The
AP_Scheduler library was missing from make.inc.
2015-10-21 09:16:11 +11:00
Caio Marcelo de Oliveira Filho ec52df991c build: compile only the HAL files needed by the board
Instead of requiring every program to specify the HAL related modules,
let the build system do it (in practice everything we compiled depended
on HAL anyway). This allow including only the necessary files in the
compilation.
2015-10-21 09:16:07 +11:00
Caio Marcelo de Oliveira Filho 2e464a53c2 AP_HAL: make code not depend on concrete HAL implementations
The switching between different AP_HAL was happening by giving different
definitions of AP_HAL_BOARD_DRIVER, and the programs would use it to
instantiate.

A program or library code would have to explicitly include (and depend)
on the concrete implementation of the HAL, even when using it only via
interface.

The proposed change move this dependency to be link time. There is a
AP_HAL::get_HAL() function that is used by the client code. Each
implementation of HAL provides its own definition of this function,
returning the appropriate concrete instance.

Since this replaces the job of AP_HAL_BOARD_DRIVER, the definition was
removed.

The static variables for PX4 and VRBRAIN were named differently to avoid
shadowing the extern symbol 'hal'.
2015-10-21 09:16:07 +11:00
Andrew Tridgell e0db1ad93e AP_Notify: added support for raspilot LED 2015-09-14 14:22:16 +10:00
Angus Peart 95c66a794e AP_Notify: sync oreoleds before a reboot 2015-09-09 10:39:54 +09:00
Angus Peart a887c1d1f2 AP_Notify: fix oreoled race causing startup flicker 2015-09-09 10:39:53 +09:00
Angus Peart d48f1b0ccf AP_Notify: oreoled - remove dangerous send_bytes 2015-09-09 10:39:52 +09:00
Angus Peart 662a3aa4cb AP_Notify: oreoled - always use full brightness 2015-09-09 10:39:51 +09:00
Jonathan Challinger d205de2d7e AP_Notify: use new macros for white/red pattern 2015-09-09 10:39:51 +09:00
Randy Mackay 872e6769b0 Notify: change firmware_update event to flag 2015-09-09 10:39:50 +09:00
Jace A Mogill 068cdfe6a3 Notify: workaround for OREOLED problems 2015-09-09 10:39:49 +09:00
Jonathan Challinger 28ee63c855 AP_Notify: add events.compass_cal_canceled 2015-09-03 16:59:11 +10:00
Jonathan Challinger adef826a42 AP_Notify: play tones for compass cal 2015-09-03 16:59:11 +10:00
Jonathan Challinger 89007c13cb AP_Notify: add compass_cal flags 2015-09-03 16:59:11 +10:00
mirkix f6f2e901b8 AP_Notify: Disable ToneAlarm for BBBMINI 2015-09-02 11:10:59 +10:00
Lucas De Marchi d446381623 AP_HAL_Notify: standardize inclusion of libaries headers
Do the missing header changes due to changing the code before the pr
getting accepted.
2015-08-18 17:12:52 +10:00
Gustavo Jose de Sousa 6d667e19b1 AP_Notify: standardize inclusion of libaries headers
This commit changes the way libraries headers are included in source files:

 - If the header is in the same directory the source belongs to, so the
 notation '#include ""' is used with the path relative to the directory
 containing the source.

 - If the header is outside the directory containing the source, then we use
 the notation '#include <>' with the path relative to libraries folder.

Some of the advantages of such approach:

 - Only one search path for libraries headers.

 - OSs like Windows may have a better lookup time.
2015-08-11 16:38:20 +10:00
Randy Mackay 73ff01dc68 AP_Notify: replace unsigned int with uint8_t 2015-07-21 13:52:03 +09:00
Lucas De Marchi 1bba105be4 AP_Notify: don't manually define number of notify devices
Like b211b86 (AP_HAL_Linux: don't manually define number of spi devices)
did for spi.
2015-07-21 13:52:00 +09:00
Randy Mackay 2f8a7f316f Notify: enable toshibaLED for NAVIO 2015-07-07 20:08:19 +09:00
Lucas De Marchi b3da1579c1 AP_Notify: rename member to initialized
We are not only checking if there was an error, but if it was already
initialized.  Let's make it explicit by inverting the value we store.
2015-06-10 16:39:01 +10:00
Lucas De Marchi 3f8dab41c4 AP_Notify: fix wrong boolean check
Check by false instead of checking by -1. Fix the following compiler warning
with gcc 5.1.0:

ardupilot/libraries/AP_Notify/ToneAlarm_Linux.cpp:64:13: warning: comparison of constant '-1' with boolean expression is always false [-Wbool-compare]
     if (err == -1) {
             ^

Also change the initialization code not to use -1.
2015-06-10 16:39:01 +10:00
Andrew Tridgell 23d291f144 AP_Notify: update for upstream merge 2015-06-09 19:44:20 +10:00
Andrew Tridgell 24e2e4b35e AP_Notify: convert example from .pde to .cpp 2015-06-01 17:07:05 +10:00
Lucas De Marchi 9764bb2452 AP_Notify: use functor macros
Functor is not yet being used but let's make is macro fallback to the
previous Delegate implementation for easy of transition between the two.
2015-05-26 13:46:54 +10:00
Andrew Tridgell 9f10e2d26c AP_Notify: fix for HAL_SITL rename 2015-05-05 09:45:56 +10:00
Randy Mackay 240a845206 Notify: fix example sketches 2015-05-01 20:58:34 +09:00
Randy Mackay 608bb3d611 Notify: minor format fix 2015-04-27 12:10:17 +09:00
Randy Mackay e2071a4630 Notify: ToneAlarm fix to stopping continuous tones 2015-04-13 17:44:45 +09:00
Randy Mackay 2472702838 Notify: rename lost_copter to vehicle_lost 2015-04-13 17:44:44 +09:00
Jaime Machuca 043d24f03a Notify: add Lost Copter tone 2015-04-13 17:42:07 +09:00
Randy Mackay 0dc985a6ab Notify: remove GPS glitch notification 2015-03-13 16:40:41 +09:00
Randy Mackay 8e8487c699 Notify: remove baro_glitch reporting 2015-03-13 16:40:23 +09:00
Randy Mackay 7675160e33 Notify: add firmware update flag and implement for OreoLED 2015-03-06 17:26:51 +09:00
Jace A Mogill 442d07a6c9 Notify: OreoLED fast startup with solid green
For manual flight modes: Solid white in front, red in rear
For automatic flight modes: Breathing white in front, red in rear
Loss of RC: Alternating red/black in front and rear

merge with fast green
2015-03-06 17:26:45 +09:00
Randy Mackay 51213235b4 OreoLED_PX4: available only on PX4 2015-03-02 16:58:17 +09:00
Randy Mackay f1ce70e748 Notify: disable oreoled by default 2015-03-02 16:58:14 +09:00
Randy Mackay 89cd74c35f Notify: OreoLED supports handle_led_control
includes support for send bytes ioctl
2015-03-02 16:58:12 +09:00
Randy Mackay 90cac02bd7 Notify: OreoLED fix to fade-in when armed 2015-03-02 16:58:10 +09:00
Randy Mackay 35a3a52f29 Notify: add support for handle_led_control 2015-03-02 16:58:06 +09:00
Randy Mackay b8ef765b3e Notify: add OreoLED to PX4 2015-03-02 16:57:56 +09:00
Randy Mackay 0a33a7c15a Notify: OreoLED_PX4 driver 2015-03-02 16:57:50 +09:00
Andrew Tridgell 9f7e20090c AP_Notify: change for new PX4 device paths 2015-02-14 12:25:43 +11:00
Emile Castelnuovo 5c68980f05 AP_Notify: removed unused VRBRAIN files 2015-02-05 14:22:08 +09:00
Randy Mackay 6cfd48d0c6 Buzzer: handle arming_failed as event 2015-02-03 06:14:55 +09:00
Randy Mackay a991b4a823 Linux: handle arming_failed as event 2015-02-03 06:14:54 +09:00
Randy Mackay 3361002379 ToneAlarm: handle arming_failed as event 2015-02-03 06:14:53 +09:00
Randy Mackay bd1ae13fdb Notify: arming_failed flag moved to events 2015-02-03 06:14:53 +09:00
Randy Mackay 6a827459ad Notify: increase size of flags type 2015-02-03 06:14:52 +09:00
Randy Mackay 0a68d4ef39 Notify: clear all flags and events during init 2015-02-03 06:14:44 +09:00