Add generator program for configuration accessor headers.

This commit is contained in:
Martin Ling 2013-11-23 20:45:09 +00:00
parent 9b1502efce
commit 35ff018b49
3 changed files with 44 additions and 0 deletions

9
config-fields Normal file
View File

@ -0,0 +1,9 @@
baudrate,int,baud rate,Baud rate in bits per second
bits,int,data bits,Number of data bits
parity,enum sp_parity,parity setting,Parity setting
stopbits,int,stop bits,Number of stop bits
rts,enum sp_rts,RTS pin behaviour,RTS pin mode
cts,enum sp_cts,CTS pin behaviour,CTS pin mode
dtr,enum sp_dtr,DTR pin behaviour,DTR pin mode
dsr,enum sp_dsr,DSR pin behaviour,DSR pin mode
xon_xoff,enum sp_xonxoff,XON/XOFF configuration,XON/XOFF mode

3
config-header.py Normal file
View File

@ -0,0 +1,3 @@
pattern = str.join('', open("config-pattern").readlines())
for line in open("config-fields").readlines():
print pattern.format(*line.rstrip("\n").split(","))

32
config-pattern Normal file
View File

@ -0,0 +1,32 @@
/**
* Set the {2} for the specified serial port.
*
* @param port Pointer to port structure.
* @param {0} {3}.
*
* @return SP_OK upon success, a negative error code otherwise.
*/
enum sp_return sp_set_{0}(struct sp_port *port, {1} {0});
/**
* Get the {2} from a port configuration.
*
* The user should allocate a variable of type {1} and pass a pointer to this
* to receive the result.
*
* @param config Pointer to configuration structure.
* @param {0}_ptr Pointer to variable to store result.
*
* @return SP_OK upon success, a negative error code otherwise.
*/
enum sp_return sp_get_config_{0}(const struct sp_port_config *config, {1} *{0}_ptr);
/**
* Set the {2} in a port configuration.
*
* @param config Pointer to configuration structure.
* @param {0} {3}, or -1 to retain current setting.
*
* @return SP_OK upon success, a negative error code otherwise.
*/
enum sp_return sp_set_config_{0}(struct sp_port_config *config, {1} {0});