WWSerialPort.c 3.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. /*****************************************************************************/
  2. /* ここから */
  3. /*****************************************************************************/
  4. #include "WWSerialPortP.h"
  5. #include "WonX.h"
  6. /*****************************************************************************/
  7. /* メンバ関数の定義 */
  8. /*****************************************************************************/
  9. int WWSerialPort_Open( WWSerialPort s) { return (s->opened = 1); }
  10. int WWSerialPort_Close( WWSerialPort s) { return (s->opened = 0); }
  11. int WWSerialPort_IsOpened(WWSerialPort s) { return (s->opened != 0); }
  12. int WWSerialPort_IsClosed(WWSerialPort s) { return (s->opened == 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_Close(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. WWSerialPort_Close(ww_serial_port);
  59. free(ww_serial_port);
  60. return (NULL);
  61. }
  62. /*****************************************************************************/
  63. /* ここまで */
  64. /*****************************************************************************/
  65. /*****************************************************************************/
  66. /* End of File. */
  67. /*****************************************************************************/