* 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
* 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.
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
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
* 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
* 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