diff --git a/config-fields b/config-fields new file mode 100644 index 0000000..f722afd --- /dev/null +++ b/config-fields @@ -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 diff --git a/config-header.py b/config-header.py new file mode 100644 index 0000000..583fe27 --- /dev/null +++ b/config-header.py @@ -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(",")) diff --git a/config-pattern b/config-pattern new file mode 100644 index 0000000..a39bbdf --- /dev/null +++ b/config-pattern @@ -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});