248 Commits

Author SHA1 Message Date
Pat Rogers
a8bd4794d1 Extensively refine code for these three serial I/O examples
* README.md
- Add new readme indicating that this host program is only intended for the
stream-based demo, and explaining how to use it

* host.adb
- Add much more comments in the header block explaining how to use this program and
why it is needed
- Parameterize the host port number instead of hard-coding it

* demo_serial_port_blocking.adb
- Use normalized (new) procedure names for Send and Receive, for consistency with
other versions
- Add comments re: baud rate and other settings required

* demo_serial_port_nonblocking.adb
- Better name for local procedure
- Add many more comments re: settings

* demo_serial_port_streaming.adb
- Replace source code in comment header block with location of the actual
code and project file.
- Add comment re: serial port settings

* peripherals_blocking.ads
- Peripheral should be a constant
- COM can now reference the designated USART, the component of Peripheral

* peripherals_nonblocking.ads
- Same as for peripherals_blocking.ads

* peripherals_streaming.ads
- Same as for peripherals_blocking.ads

* serial_io-blocking.ads
- Type Serial_Port now designates a USART rather than type Peripheral
- No longer provide call through routines for the Serial_IO package's
Initialize_Hardware and Configure since client can easily call them. Better
separation of concerns as a result.
- Change signatures of internal routines to be access-to-USART

* serial_io-blocking.adb
- Internal simplifications reflecting change to access discriminant now designating type USART
- Remove code for Initialize_Hardware and Configure, per removal from package spec

* serial_io-nonblocking.ads
- Type Serial_Port now designates a USART rather than type Peripheral
- No longer provide call through routines for Serial_IO packages
Initialize_Hardware and Configure since client can easily do so, and simplifies this package
- Change signatures of internal routines to be access-to-USART

* serial_io-nonblocking.adb
- Internal simplifications reflecting change to access discriminant now designating type USART
- Remove code for Initialize_Hardware and Configure, per removal from package spec
- Use short-circuit control forms in ISR since don't need to check both conditions, should be
a little faster

* serial_io-streaming.ads
- Type Serial_Port now designates a USART rather than type Peripheral
- No longer provide call through routines for Serial_IO packages
Initialize_Hardware and Configure since client can easily do so, and simplifies this package
- Change signatures of internal routines to be access-to-USART

* serial_io-streaming.adb
- Internal simplifications reflecting change to access discriminant now designating type USART
- Remove code for Initialize_Hardware and Configure, per removal from package spec

* serial_io.ads
- Procedure Initialize_Hardware's formal parameter is no longer an access parameter
- Procedure Configure's first formal parameter is now access to USART

* serial_io.adb
- Change to prcoedures' signatures as per spec
- Procedure Configure now uses distinguished receiver syntax for USART routines, much cleaner
2025-08-30 14:13:28 -05:00
Pat Rogers
c8c9818771 fix comment to refer to GNAT rather than CE edition bug 2025-08-30 13:24:56 -05:00
Andry Ogorodnik
e7d2a23985 Added support for Si4432 ISM Band 2025-06-14 13:46:46 +03:00
Fabien Chouteau
05674c7da2 Replace riscv32-elf with riscv64-elf
GNAT FSF compiler only comes in riscv64-elf version that supports both 32 and 64 RISC-V.
2025-05-15 10:49:56 +02: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
580945562d Add touch panel to stm32_f4ve board 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
7232cb4069 Add STM32 F4VE board. 2023-12-06 16:38:32 +02:00
Maxim Reznik
f79cd470a0 Add SD card examples for stm32f4xx_m. 2023-12-06 16:38:32 +02:00
Maxim Reznik
dfbc15d772 Add more READMEs 2023-12-06 16:38:32 +02:00
Maxim Reznik
0aaf152c5b Create Flash memory in STM32.Board for stm32f4xx_m
Move flash initialization code into STM32.Board.
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
Maxim Reznik
b451a32266 Add STM32F4XX M DevEBox board
https://stm32-base.org/boards/STM32F407VGT6-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
Pat Rogers
249e15f6e6 Refine and strengthen package Audio (#410)
audio.ads:
Add precondition for protected procedure Start to ensure valid addresses.
Minor name improvements.

main.adb
Add Last_Chance_Handler to indicate when exceptions raised, if any.
Minor formatting
2022-05-31 16:08:33 +02:00
Pat Rogers
da9464829e corrections to serial_io facilities (#409)
demo-*:
use Unchecked_Access in these specific demos

serial_io-blocking.ads:
correct postcondition on procedure Receive so that empty content is handled properly

serial_io-nonblocking.ads:
add postconditions to procedure Receive
2022-05-30 15:40:25 +02:00
Pat Rogers
1dfd1ddf14 Significantly simplify Serial_IO.Nonblocking and revise associated files (#407)
* Significantly simplify Serial_IO.Nonblocking and revise associated files

serial_io:
Use better name for hardware init routines

serial_io.nonblocking:
Implement primary type Serial_Port directly as a protected type.
Add discriminant for IRQ priority.
Simplify transmission routine (remove a protected variable).
Remove pre/post for initialization since not worth extra complexity for type impl.
Use better names as replacements for Put/get.

serial_io.blocking:
Update names for procedures Put and Get to be same as those of package Nonblocking.
Update name for hardware init routine to be consistent with other packages.
Remove pre/post for initialization since not worth extra complexity for type impl.

serial_io.streaming:
Update names for procedures Put and Get to be same as in Blocking and Nonblocking.
Update name for hardware init routine to be consistent with other packages.
Remove pre/post for initialization since not worth extra complexity for type impl.

peripherals_nonblocking:
Specify new IRQ priority discriminant.
Remove unnecessary constant.
Improve comments.

peripherals_blocking:
Improve comments.

peripherals_streaming:
Improve comments.

demo mains:
Revise for name changes.
Improve comments.

* remove trailing blanks
2022-05-24 17:33:18 +02:00
Fabien Chouteau
f67115ada7 Various Microbit examples fixes and improvements (#367)
* micro:bit examples digital_out: fix resistor value

* micro:bit examples digital_in: fix resistor value

* Update README.md

* Typo

* Typo

* Update README.md

* Update README.md

* Update README.md (#366)
2020-09-18 13:16:44 +02:00
Jeremy Grosser
830fde073a PCD8544 LCD driver (#364) 2020-09-17 14:49:10 +02:00
Fabien Chouteau
4b5b967ed8 Update README.md 2020-08-06 19:24:16 +02:00
Jeremy Grosser
0c93f623d0 Olimex STM32-H405 board support (#356)
* Olimex STM32-H405 board support

* Add STM32-H405 to build_all_examples.py, fix for style checks

* Use stm32f4 runtime for STM32-H405 board

* Add STM32_H405 to board_projects_generator.py
2020-07-30 12:31:31 +02:00
Wilbert van de Ridder
c7c545c2f2 doc: fix typo in README.md 2020-04-27 14:42:44 +02:00