From: Pierre-Marie de Rodat <derodat@adacore.com>
To: gcc-patches@gcc.gnu.org
Cc: Bob Duff <duff@adacore.com>
Subject: [Ada] More data rates supported on Linux
Date: Mon, 08 Jul 2019 08:36:00 -0000 [thread overview]
Message-ID: <20190708081858.GA80668@adacore.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 298 bytes --]
This patch adds additional data rates to the GNAT.Serial_Communications
package (Linux version).
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-07-08 Bob Duff <duff@adacore.com>
gcc/ada/
* libgnat/g-sercom.ads, libgnat/g-sercom__linux.adb (Data_Rate):
Support additional data rates.
[-- Attachment #2: patch.diff --]
[-- Type: text/x-diff, Size: 4753 bytes --]
--- gcc/ada/libgnat/g-sercom.ads
+++ gcc/ada/libgnat/g-sercom.ads
@@ -100,8 +100,13 @@ package GNAT.Serial_Communications is
-- cases, an explicit port name can be passed directly to Open.
type Data_Rate is
- (B75, B110, B150, B300, B600, B1200, B2400, B4800, B9600,
- B19200, B38400, B57600, B115200);
+ (B75, B110, B150, B300, B600, B1200,
+ B2400, B4800, B9600,
+ B19200, B38400, B57600, B115200,
+ B230400, B460800, B500000, B576000, B921600,
+ B1000000, B1152000, B1500000,
+ B2000000, B2500000, B3000000,
+ B3500000, B4000000);
-- Speed of the communication
type Data_Bits is (CS8, CS7);
@@ -173,18 +178,31 @@ private
end record;
Data_Rate_Value : constant array (Data_Rate) of Interfaces.C.unsigned :=
- (B75 => 75,
- B110 => 110,
- B150 => 150,
- B300 => 300,
- B600 => 600,
- B1200 => 1_200,
- B2400 => 2_400,
- B4800 => 4_800,
- B9600 => 9_600,
- B19200 => 19_200,
- B38400 => 38_400,
- B57600 => 57_600,
- B115200 => 115_200);
+ (B75 => 75,
+ B110 => 110,
+ B150 => 150,
+ B300 => 300,
+ B600 => 600,
+ B1200 => 1_200,
+ B2400 => 2_400,
+ B4800 => 4_800,
+ B9600 => 9_600,
+ B19200 => 19_200,
+ B38400 => 38_400,
+ B57600 => 57_600,
+ B115200 => 115_200,
+ B230400 => 230_400,
+ B460800 => 460_800,
+ B500000 => 500_000,
+ B576000 => 576_000,
+ B921600 => 921_600,
+ B1000000 => 1_000_000,
+ B1152000 => 1_152_000,
+ B1500000 => 1_500_000,
+ B2000000 => 2_000_000,
+ B2500000 => 2_500_000,
+ B3000000 => 3_000_000,
+ B3500000 => 3_500_000,
+ B4000000 => 4_000_000);
end GNAT.Serial_Communications;
--- gcc/ada/libgnat/g-sercom__linux.adb
+++ gcc/ada/libgnat/g-sercom__linux.adb
@@ -58,19 +58,32 @@ package body GNAT.Serial_Communications is
pragma Import (C, fcntl, "fcntl");
C_Data_Rate : constant array (Data_Rate) of unsigned :=
- (B75 => OSC.B75,
- B110 => OSC.B110,
- B150 => OSC.B150,
- B300 => OSC.B300,
- B600 => OSC.B600,
- B1200 => OSC.B1200,
- B2400 => OSC.B2400,
- B4800 => OSC.B4800,
- B9600 => OSC.B9600,
- B19200 => OSC.B19200,
- B38400 => OSC.B38400,
- B57600 => OSC.B57600,
- B115200 => OSC.B115200);
+ (B75 => OSC.B75,
+ B110 => OSC.B110,
+ B150 => OSC.B150,
+ B300 => OSC.B300,
+ B600 => OSC.B600,
+ B1200 => OSC.B1200,
+ B2400 => OSC.B2400,
+ B4800 => OSC.B4800,
+ B9600 => OSC.B9600,
+ B19200 => OSC.B19200,
+ B38400 => OSC.B38400,
+ B57600 => OSC.B57600,
+ B115200 => OSC.B115200,
+ B230400 => OSC.B230400,
+ B460800 => OSC.B460800,
+ B500000 => OSC.B500000,
+ B576000 => OSC.B576000,
+ B921600 => OSC.B921600,
+ B1000000 => OSC.B1000000,
+ B1152000 => OSC.B1152000,
+ B1500000 => OSC.B1500000,
+ B2000000 => OSC.B2000000,
+ B2500000 => OSC.B2500000,
+ B3000000 => OSC.B3000000,
+ B3500000 => OSC.B3500000,
+ B4000000 => OSC.B4000000);
C_Bits : constant array (Data_Bits) of unsigned :=
(CS7 => OSC.CS7, CS8 => OSC.CS8);
reply other threads:[~2019-07-08 8:19 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190708081858.GA80668@adacore.com \
--to=derodat@adacore.com \
--cc=duff@adacore.com \
--cc=gcc-patches@gcc.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).