Commit Graph

146 Commits

Author SHA1 Message Date
Fabien Chouteau
93f7045a3c components: add driver for solder.party BBQ10 keyboard I2C interface (#368) 2020-09-18 13:17:48 +02:00
Jeremy Grosser
830fde073a PCD8544 LCD driver (#364) 2020-09-17 14:49:10 +02:00
Simon Wright
87cd0d4165 Add PMW3901 (flow) sensor support (2). (#348)
* Added PMW3901 (flow) sensor support.
Includes general-purpose check for whether this SPI port is clocked.

  * components/src/motion/pmw3901/pmw3901.ads: new.
  * components/src/motion/pmw3901/pmw3901.adb: new.

  * components/src/motion/pmw3901/pmw3901-is_clocked.adb: new. The
      check for the associated SPI port being clocked is implemented
      as a separate because it really belongs in the Device package.

* PMW3901 driver no longer depends on STM32.

  * components/src/motion/pmw3901/pmw3901.ads: remove dependency on
      STM32, replace by HAL equivalent.
    (Initialize): replace precondition using Is_Clocked to 'not
      Is_Initialized'.
    (Is_Clocked): removed.
  * components/src/motion/pmw3901/pmw3901.adb: likewise.
  * components/src/motion/pmw3901/pmw3901-is_clocked.adb: removed.

* PMW3901 copyright/clarity updates.

  * components/src/motion/pmw3901/pmw3901.adb: Updated copyright
      notice, as requested.
  * components/src/motion/pmw3901/pmw3901.ads: Likewise.
    (Motion's rep spec): moved to private part, to reduce clutter.
2020-06-09 16:17:28 +02:00
Simon Wright
26e722d271 Use HAL.Time facilities.
* components/src/range_sensor/VL53L0X/vl53l0x.ads
    (VL53L0X_Ranging_Sensor): add discriminant Timing.
    (Read_Range_Single_Millimeters): no longer generic.
  * components/src/range_sensor/VL53L0X/vl53l0x.adb
    (Read_Range_Single_Millimeters): use This.Timing.Delay_Milliseconds.
2020-04-21 11:29:40 +02:00
Simon Wright
58e62bf2e5 Remove VL53L0x dependence on Ada.Real_Time
* components/src/range_sensor/VL53L0X/vl53l0x.ads
    (Read_Range_Single_Millimeters): made into a generic requiring a
      procedure Delay_Milliseconds.
  * components/src/range_sensor/VL53L0X/vl53l0x.adb
    (Read_Range_Single_Millimeters): calls Delay_Milliseconds rather
      than an explicit 'delay until'.
2020-04-21 11:29:40 +02:00
Simon Wright
52131568d5 Added pre/postconditions to ensure measurements possible.
Avoids endless loops waiting for measurement to be indicated.

  * components/src/range_sensor/VL53L0X/vl53l0x.ads: Added
      postconditions to check that GPIO Functionality has been set as
      specified to Static_Init, Set_GPIO_Config.
      Added preconditions to check that GPIO Functionality is
      New_Sample_Ready (i.e. that there will be such an indication) to
      Perform_Ref_Calibration, Start_Continuous,
      Start_Range_Single_Millimeters, Range_Value_Available,
      Read_Range_Single_Millimeters, Set_VCSEL_Pulse_Period_Pre_Range,
      Set_VCSEL_Pulse_Period_Final_Range, Set_VCSel_Pulse_Period.
    (Get_GPIO_Functionality): new.
  * components/src/range_sensor/VL53L0X/vl53l0x.adb
    (Get_GPIO_Functionality): new.
2020-04-21 11:29:40 +02:00
Simon Wright
faa1d39933 Adds automatic continuous reading to the VL53L0X range sensor.
A translation of the Crazyflie Flow Deck (v1) support code.

  * components/src/range_sensor/VL53L0X/vl53l0x.ads (Read_Revision): new.
    (Start_Continuous): new.
  * components/src/range_sensor/VL53L0X/vl53l0x.adb (Read_Revision): new.
    (Read_Range_Single_Millimeters): use 1 ms delay in loop while waiting
      for Range_Value_Available.
    (Start_Continuous): new.
2020-04-21 11:29:40 +02:00
Fabien Chouteau
a378e04217 Add support for IS31fl3731 LED matrix driver 2020-01-03 10:02:15 +01:00
Fabien Chouteau
eb5fa3782e ST7735R: improve drawing performances in buffer-less mode 2018-10-26 19:32:51 +02:00
Fabien Chouteau
09a8d57920 Components: Improve MMA8653 driver 2018-07-13 19:44:34 +02:00
Fabien Chouteau
4d32971732 HAL.GPIO: Switch to a capability system
Instead of returning False when a configuration is not supported, users
can call a function beforehand to know if it is supported. The
capability is also now a precondition of the setup procedures.
2018-07-11 18:46:16 +02:00
Fabien Chouteau
571f0d2f1a Remove unused project files 2018-04-27 21:16:41 +02:00
Fabien Chouteau
36f137ad18 Fix "use clause for has no effect" errors 2018-03-09 16:59:59 +01:00
Fabien Chouteau
a0d3a78bc1 SGTL5000: Fix some typos 2017-12-04 00:09:50 +01:00
Fabien Chouteau
71db1abc3e AdaFruit.Thermal_Printer: Add a procedure to print HAL.Bitmap 2017-10-18 17:38:47 +02:00
Fabien Chouteau
9cb9fc0bd9 SSD1306: Fix initialization for 128x64 displays 2017-08-25 18:09:09 +02:00
Fabien Chouteau
91b68d0e49 SSD1306: Override procedure Fill with a faster implementation 2017-08-18 18:52:10 +02:00
Fabien Chouteau
9a512a7fa0 Merge pull request #206 from AdaCore/ssd1306_fix
Fix SSD1306 drawing by overriding missing pixel primitives
2017-08-07 11:12:12 +02:00
Fabien Chouteau
87d8dfb09e ST7735R: Change SPI data transmit to send all pixels at once
This allow for fast DMA transfer
2017-07-06 22:07:19 +02:00
Fabien Chouteau
1780c8728b SSD1306: override remaining pixel primitives 2017-07-02 18:31:38 +02:00
Fabien Chouteau
384c43ace8 Merge pull request #204 from AdaCore/gpl2017_migration
GNAT wavefront/GPL2017 migration
2017-06-28 19:23:33 +02:00
Fabien Chouteau
3a7945c20a Use new GPRbuild attribute: Create_Missing_Dirs
And remove now useless .gitignore files and empty directories.
2017-06-27 15:58:10 +02:00
Jerome Lambourg
b4acbb9ad9 Further refactor the board projects.
This commit in particular removes the need for aggregate projects.
2017-06-26 18:18:59 +02:00
Jerome Lambourg
a63e6fc852 Fix the examples. 2017-06-26 18:18:58 +02:00
Fabien Chouteau
3e1dacbb68 Components: Add SGTL5000 DAC support 2017-06-14 22:50:42 +02:00