| 91 | } |
| 92 | |
| 93 | func (m Mode) String() string { |
| 94 | if !m.Valid() { |
| 95 | return fmt.Sprintf("invalid_mode(%d,%d,%d,%d,%d)", |
| 96 | m.Baudrate, |
| 97 | m.DataBits, |
| 98 | m.Parity, |
| 99 | m.Stopbits, |
| 100 | m.Handshake) |
| 101 | } |
| 102 | |
| 103 | parstring := "" |
| 104 | switch m.Parity { |
| 105 | case N: |
| 106 | parstring = "n" |
| 107 | case O: |
| 108 | parstring = "o" |
| 109 | case E: |
| 110 | parstring = "e" |
| 111 | default: |
| 112 | panic("unhandled parity setting") |
| 113 | } |
| 114 | |
| 115 | hsstring := "" |
| 116 | switch m.Handshake { |
| 117 | case NO_HANDSHAKE: |
| 118 | hsstring = "none" |
| 119 | case RTSCTS_HANDSHAKE: |
| 120 | hsstring = "rtscts" |
| 121 | default: |
| 122 | panic("unhandled handshake setting") |
| 123 | } |
| 124 | |
| 125 | return fmt.Sprintf("%d,%d%s%d,%s", |
| 126 | m.Baudrate, |
| 127 | m.DataBits, |
| 128 | parstring, |
| 129 | m.Stopbits, |
| 130 | hsstring) |
| 131 | } |
| 132 | |
| 133 | type StringError string |
| 134 | |