annotate telemetrix_local_serial.py @ 9:7e19dffb767b default tip

rm more unused code and logging
author drewp@bigasterisk.com
date Mon, 06 Feb 2023 11:53:42 -0800
parents 6182841fb92e
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3
67402d8b4e0d copy from telemetrix repo
drewp@bigasterisk.com
parents:
diff changeset
1 # -*- coding: utf-8 -*-
67402d8b4e0d copy from telemetrix repo
drewp@bigasterisk.com
parents:
diff changeset
2 """
67402d8b4e0d copy from telemetrix repo
drewp@bigasterisk.com
parents:
diff changeset
3 Copyright (c) 2015-2020 Alan Yorinks All rights reserved.
67402d8b4e0d copy from telemetrix repo
drewp@bigasterisk.com
parents:
diff changeset
4
67402d8b4e0d copy from telemetrix repo
drewp@bigasterisk.com
parents:
diff changeset
5 This program is free software; you can redistribute it and/or
67402d8b4e0d copy from telemetrix repo
drewp@bigasterisk.com
parents:
diff changeset
6 modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
67402d8b4e0d copy from telemetrix repo
drewp@bigasterisk.com
parents:
diff changeset
7 Version 3 as published by the Free Software Foundation; either
67402d8b4e0d copy from telemetrix repo
drewp@bigasterisk.com
parents:
diff changeset
8 or (at your option) any later version.
67402d8b4e0d copy from telemetrix repo
drewp@bigasterisk.com
parents:
diff changeset
9 This library is distributed in the hope that it will be useful,
67402d8b4e0d copy from telemetrix repo
drewp@bigasterisk.com
parents:
diff changeset
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
67402d8b4e0d copy from telemetrix repo
drewp@bigasterisk.com
parents:
diff changeset
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
67402d8b4e0d copy from telemetrix repo
drewp@bigasterisk.com
parents:
diff changeset
12 General Public License for more details.
67402d8b4e0d copy from telemetrix repo
drewp@bigasterisk.com
parents:
diff changeset
13
67402d8b4e0d copy from telemetrix repo
drewp@bigasterisk.com
parents:
diff changeset
14 You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
67402d8b4e0d copy from telemetrix repo
drewp@bigasterisk.com
parents:
diff changeset
15 along with this library; if not, write to the Free Software
67402d8b4e0d copy from telemetrix repo
drewp@bigasterisk.com
parents:
diff changeset
16 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
67402d8b4e0d copy from telemetrix repo
drewp@bigasterisk.com
parents:
diff changeset
17 """
67402d8b4e0d copy from telemetrix repo
drewp@bigasterisk.com
parents:
diff changeset
18
67402d8b4e0d copy from telemetrix repo
drewp@bigasterisk.com
parents:
diff changeset
19 import asyncio
4
6182841fb92e use serial_asyncio; rm dead code
drewp@bigasterisk.com
parents: 3
diff changeset
20 import logging
3
67402d8b4e0d copy from telemetrix repo
drewp@bigasterisk.com
parents:
diff changeset
21
4
6182841fb92e use serial_asyncio; rm dead code
drewp@bigasterisk.com
parents: 3
diff changeset
22 import serial_asyncio
6182841fb92e use serial_asyncio; rm dead code
drewp@bigasterisk.com
parents: 3
diff changeset
23
6182841fb92e use serial_asyncio; rm dead code
drewp@bigasterisk.com
parents: 3
diff changeset
24 log = logging.getLogger('serial')
3
67402d8b4e0d copy from telemetrix repo
drewp@bigasterisk.com
parents:
diff changeset
25
67402d8b4e0d copy from telemetrix repo
drewp@bigasterisk.com
parents:
diff changeset
26
67402d8b4e0d copy from telemetrix repo
drewp@bigasterisk.com
parents:
diff changeset
27 # noinspection PyStatementEffect,PyUnresolvedReferences,PyUnresolvedReferences
67402d8b4e0d copy from telemetrix repo
drewp@bigasterisk.com
parents:
diff changeset
28 class TelemetrixAioSerial:
4
6182841fb92e use serial_asyncio; rm dead code
drewp@bigasterisk.com
parents: 3
diff changeset
29 reader: asyncio.StreamReader
6182841fb92e use serial_asyncio; rm dead code
drewp@bigasterisk.com
parents: 3
diff changeset
30 writer: asyncio.StreamWriter
3
67402d8b4e0d copy from telemetrix repo
drewp@bigasterisk.com
parents:
diff changeset
31
4
6182841fb92e use serial_asyncio; rm dead code
drewp@bigasterisk.com
parents: 3
diff changeset
32 def __init__(self, com_port='/dev/ttyACM0', baud_rate=115200):
6182841fb92e use serial_asyncio; rm dead code
drewp@bigasterisk.com
parents: 3
diff changeset
33 self.conn = serial_asyncio.open_serial_connection(
6182841fb92e use serial_asyncio; rm dead code
drewp@bigasterisk.com
parents: 3
diff changeset
34 url=com_port, baudrate=baud_rate, timeout=1,
6182841fb92e use serial_asyncio; rm dead code
drewp@bigasterisk.com
parents: 3
diff changeset
35 writeTimeout=1)
3
67402d8b4e0d copy from telemetrix repo
drewp@bigasterisk.com
parents:
diff changeset
36
67402d8b4e0d copy from telemetrix repo
drewp@bigasterisk.com
parents:
diff changeset
37 self.com_port = com_port
67402d8b4e0d copy from telemetrix repo
drewp@bigasterisk.com
parents:
diff changeset
38
4
6182841fb92e use serial_asyncio; rm dead code
drewp@bigasterisk.com
parents: 3
diff changeset
39 async def open(self):
6182841fb92e use serial_asyncio; rm dead code
drewp@bigasterisk.com
parents: 3
diff changeset
40 self.reader, self.writer = await self.conn
3
67402d8b4e0d copy from telemetrix repo
drewp@bigasterisk.com
parents:
diff changeset
41
4
6182841fb92e use serial_asyncio; rm dead code
drewp@bigasterisk.com
parents: 3
diff changeset
42 async def write(self, data: bytes):
6182841fb92e use serial_asyncio; rm dead code
drewp@bigasterisk.com
parents: 3
diff changeset
43 self.writer.write(data)
6182841fb92e use serial_asyncio; rm dead code
drewp@bigasterisk.com
parents: 3
diff changeset
44 await self.writer.drain()
3
67402d8b4e0d copy from telemetrix repo
drewp@bigasterisk.com
parents:
diff changeset
45
67402d8b4e0d copy from telemetrix repo
drewp@bigasterisk.com
parents:
diff changeset
46 async def read(self, size=1):
4
6182841fb92e use serial_asyncio; rm dead code
drewp@bigasterisk.com
parents: 3
diff changeset
47 return await self.reader.readexactly(size)