This change introduces new literals B75, B110, B150, B300, and B600 for enumerated type GNAT.Serial_Communications.Data_Rate, denoting the corresponding bit rates. This allows communication with legacy devices that require them.
Tested on x86_64-pc-linux-gnu, committed on trunk 2015-05-12 Thomas Quinot <qui...@adacore.com> * g-sercom.ads, g-sercom-linux.adb (GNAT.Serial_Communications. Data_Rate): New literals B75, B110, B150, B300, B600.
Index: g-sercom.ads =================================================================== --- g-sercom.ads (revision 223033) +++ g-sercom.ads (working copy) @@ -6,7 +6,7 @@ -- -- -- S p e c -- -- -- --- Copyright (C) 2007-2014, AdaCore -- +-- Copyright (C) 2007-2015, AdaCore -- -- -- -- GNAT is free software; you can redistribute it and/or modify it under -- -- terms of the GNU General Public License as published by the Free Soft- -- @@ -50,7 +50,8 @@ -- cases, an explicit port name can be passed directly to Open. type Data_Rate is - (B1200, B2400, B4800, B9600, B19200, B38400, B57600, B115200); + (B75, B110, B150, B300, B600, B1200, B2400, B4800, B9600, + B19200, B38400, B57600, B115200); -- Speed of the communication type Data_Bits is (CS8, CS7); @@ -122,7 +123,12 @@ end record; Data_Rate_Value : constant array (Data_Rate) of Interfaces.C.unsigned := - (B1200 => 1_200, + (B75 => 75, + B110 => 110, + B150 => 150, + B300 => 300, + B600 => 600, + B1200 => 1_200, B2400 => 2_400, B4800 => 4_800, B9600 => 9_600, Index: g-sercom-linux.adb =================================================================== --- g-sercom-linux.adb (revision 223033) +++ g-sercom-linux.adb (working copy) @@ -6,7 +6,7 @@ -- -- -- B o d y -- -- -- --- Copyright (C) 2007-2013, AdaCore -- +-- Copyright (C) 2007-2015, AdaCore -- -- -- -- GNAT is free software; you can redistribute it and/or modify it under -- -- terms of the GNU General Public License as published by the Free Soft- -- @@ -58,7 +58,12 @@ pragma Import (C, fcntl, "fcntl"); C_Data_Rate : constant array (Data_Rate) of unsigned := - (B1200 => OSC.B1200, + (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,