Commit Graph

329 Commits

Author SHA1 Message Date
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