WWSerialPort.c 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. /*****************************************************************************/
  2. /* ここから */
  3. /*****************************************************************************/
  4. #include "WWSerialPortP.h"
  5. #include "etc.h"
  6. /*****************************************************************************/
  7. /* メンバ関数の定義 */
  8. /*****************************************************************************/
  9. int WWSerialPort_ON( WWSerialPort s) { return (s->port_on = 1); }
  10. int WWSerialPort_OFF( WWSerialPort s) { return (s->port_on = 0); }
  11. int WWSerialPort_IsON( WWSerialPort s) { return (s->port_on != 0); }
  12. int WWSerialPort_IsOFF(WWSerialPort s) { return (s->port_on == 0); }
  13. int WWSerialPort_GetBaudrate(WWSerialPort s) { return (s->baudrate); }
  14. int WWSerialPort_SetBaudrate(WWSerialPort s, int baudrate)
  15. { return (s->baudrate = baudrate); }
  16. int WWSerialPort_SetBaudrate9600(WWSerialPort s)
  17. { return (WWSerialPort_SetBaudrate(s, WW_SERIAL_PORT_BAUDRATE_9600)); }
  18. int WWSerialPort_SetBaudrate38400(WWSerialPort s)
  19. { return (WWSerialPort_SetBaudrate(s, WW_SERIAL_PORT_BAUDRATE_38400)); }
  20. int WWSerialPort_IsBaudrate9600(WWSerialPort s)
  21. { return (WWSerialPort_GetBaudrate(s) == WW_SERIAL_PORT_BAUDRATE_9600); }
  22. int WWSerialPort_IsBaudrate38400(WWSerialPort s)
  23. { return (WWSerialPort_GetBaudrate(s) == WW_SERIAL_PORT_BAUDRATE_38400); }
  24. int WWSerialPort_GetSendTimeout(WWSerialPort s)
  25. { return (s->send_timeout); }
  26. int WWSerialPort_SetSendTimeout(WWSerialPort s, int timeout)
  27. { return (s->send_timeout = timeout); }
  28. int WWSerialPort_GetReceiveTimeout(WWSerialPort s)
  29. { return (s->receive_timeout); }
  30. int WWSerialPort_SetReceiveTimeout(WWSerialPort s, int timeout)
  31. { return (s->receive_timeout = timeout); }
  32. unsigned int WWSerialPort_GetCancelKey(WWSerialPort s)
  33. { return (s->cancel_key); }
  34. unsigned int WWSerialPort_SetCancelKey(WWSerialPort s, int cancel_key)
  35. { return (s->cancel_key = cancel_key); }
  36. /*---------------------------------------------------------------------------*/
  37. /* オブジェクトの作成 */
  38. /*---------------------------------------------------------------------------*/
  39. WWSerialPort WWSerialPort_Create()
  40. {
  41. WWSerialPort ww_serial_port;
  42. ww_serial_port = (WWSerialPort)malloc(sizeof(_WWSerialPort));
  43. if (ww_serial_port == NULL)
  44. WonX_Error("WWSerialPort_Create", "Cannot allocate memory.");
  45. WWSerialPort_OFF(ww_serial_port);
  46. WWSerialPort_SetBaudrate38400(ww_serial_port);
  47. WWSerialPort_SetSendTimeout(ww_serial_port, 100);
  48. WWSerialPort_SetReceiveTimeout(ww_serial_port, 100);
  49. return (ww_serial_port);
  50. }
  51. /*---------------------------------------------------------------------------*/
  52. /* オブジェクトの削除 */
  53. /*---------------------------------------------------------------------------*/
  54. WWSerialPort WWSerialPort_Destroy(WWSerialPort ww_serial_port)
  55. {
  56. if (ww_serial_port == NULL)
  57. WonX_Error("WWSerialPort_Destroy", "Object is not created.");
  58. free(ww_serial_port);
  59. return (NULL);
  60. }
  61. /*****************************************************************************/
  62. /* ここまで */
  63. /*****************************************************************************/
  64. /*****************************************************************************/
  65. /* End of File. */
  66. /*****************************************************************************/