134 Commits

Author SHA1 Message Date
Andry Ogorodnik
e7d2a23985 Added support for Si4432 ISM Band 2025-06-14 13:46:46 +03:00
Andry Ogorodnik
e2e818b437 HM-11/cc2541 bluetooth module 2025-05-06 19:14:04 +03:00
Andry Ogorodnik
fcf8caa41f Add support for nRF24L01+ radio module 2025-02-17 18:42:46 +02:00
Maxim Reznik
72e36aad8a Fix ILI9341 display driver with SPI connector
and provide a demo for it.
2025-01-26 18:29:10 +02:00
Maxim Reznik
22ae2aea53 Add more readme files. 2023-12-06 16:38:32 +02:00
Maxim Reznik
3d584b8f9b Add XPT2046 touch panel driver 2023-12-06 16:38:32 +02:00
Maxim Reznik
724b7462a4 Add TFT LCD ILI9341 to STM32 F4VE board. 2023-12-06 16:38:32 +02:00
Maxim Reznik
b60639de8b Add optimized version of Fill and Copy_Rect 2023-12-06 16:38:32 +02:00
Maxim Reznik
639e9031fb Split ili9341 into several files
* ili9341-device.ads - generic driver for display
* ili9341-spi_connector.ads - the chip with SPI interface
* ili9341-device-bitmap.ads - implement Bitmap API on the ILI9341 RAM
* ili9341-rgb_spi_device.ads - display with RGB interface
2023-12-06 16:38:32 +02:00
Maxim Reznik
dfbc15d772 Add more READMEs 2023-12-06 16:38:32 +02:00
Maxim Reznik
f607a9a7b7 Add HAL for flash memory chips and an example
for w25q16bv on stm32f4xx_m.
2023-10-14 18:17:58 +03:00
Fabien Chouteau
13b379aad3 Switch to GNAT FSF 12 support (#418)
* Switch to GNAT FSF 12 support

* GNAT FSF 12 in GitHub CI

* Update README.md

* Remove run-time dependency build script that is not compatible with GNAT FSF

This script is also not needed as all the BSPs are included in GNAT FSF.
2023-01-02 11:34:55 +01:00
Rolf Ebert
9e3933a635 add new IO expander MCP23017 (2x8bits) (#415)
* add new IO expander MCP23017 (2x8bits), copying the design of the existing MCP23008

* correct casing style issues, revert to parenthesis for array access

* correct more style issues
2022-11-07 10:40:51 +01:00
Rolf Ebert
3c04f38bed implement function Mode to fix issue #412 (#413) 2022-07-28 18:15:41 +02:00
Rolf Ebert
791616adf3 New component: text LCD (#405)
* new component: the old pcf8574 8bit io-expander.

* correct interface to current HAL (v0.3)

* make address and I2C_Port discriminants, so that variables cannot be declared without initialization

* cleared style issues (missing blanks) and made the type limited

* first working version of a HD44780 LCD driver, based on I2C PCF8574

* use controlling parameter directly in in out mode, not the pointer to class wide

* make the call to Output dispatching

* corrected GNAT style issues

* add support for user defined custom characters

* use standard Adacore copyright notice

* remove unneeded with clause
2022-06-14 09:45:25 +02:00
Simon Wright
ac2a336f16 Add support for the ST VL53L1X Time-of-Flight sensor. 2022-01-24 11:50:19 +01:00
Simon Wright
dfaebbc1a5 Rework PMW3901 calibration parameters.
Uses timing/calibration parameters from github PX4/PX4-Autopilot\
/blob/master/src/drivers/optical_flow/pmw3901/PMW3901.cpp.

  * components/src/motion/pmw3901/pmw3901.adb (Initialize): delays to
      match PX4 code.
    (Calibrate): likewise, plus calibration data.
2021-11-30 10:25:14 +01:00
Simon Wright
e49974bf3c Components: add I2C, SPI drivers for LPS25H barometric sensor. 2021-11-30 10:17:52 +01:00
Fabien Chouteau
dfb681724f SGTL5000: fix I2C_Write and a few config procedures (#389)
The current implementation worked fine on the STM32F4, but it could be
because the I2C Mem_Write is not correctly implemented for this
microcontroller.
2021-07-22 10:04:52 +02:00
Ahmed Hamdy
663a729926 LSM303AGR driver implementation (#380) 2021-01-08 12:19:47 +01:00
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