mirror of
https://github.com/meshtastic/python.git
synced 2025-12-26 09:27:52 -05:00
Compare commits
16 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
45d879e607 | ||
|
|
3e44ee1eba | ||
|
|
36c5fc8d3c | ||
|
|
38ceb85ad9 | ||
|
|
6d18d9226d | ||
|
|
6d5ed2129a | ||
|
|
5cfb6ffa11 | ||
|
|
363b268ccf | ||
|
|
e6cddb0084 | ||
|
|
5e77bf62b9 | ||
|
|
4905c0b179 | ||
|
|
43ab3be804 | ||
|
|
14a6e581bc | ||
|
|
cadad32bdb | ||
|
|
71c6411d1a | ||
|
|
85e8fad16f |
2
.github/workflows/ci.yml
vendored
2
.github/workflows/ci.yml
vendored
@@ -35,7 +35,7 @@ jobs:
|
||||
which meshtastic
|
||||
meshtastic --version
|
||||
- name: Run pylint
|
||||
run: pylint meshtastic
|
||||
run: pylint meshtastic examples/
|
||||
- name: Run tests with pytest
|
||||
run: pytest --cov=meshtastic
|
||||
- name: Generate coverage report
|
||||
|
||||
1
.github/workflows/update_protobufs.yml
vendored
1
.github/workflows/update_protobufs.yml
vendored
@@ -32,4 +32,5 @@ jobs:
|
||||
git config --global user.email 'bot@noreply.github.com'
|
||||
git remote set-url origin https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}
|
||||
git add proto
|
||||
git add meshtastic
|
||||
git commit -m "Update protobuf submodule" && git push || echo "No changes to commit"
|
||||
|
||||
2
Makefile
2
Makefile
@@ -16,7 +16,7 @@ docs:
|
||||
|
||||
# lint the codebase
|
||||
lint:
|
||||
pylint meshtastic
|
||||
pylint meshtastic examples
|
||||
|
||||
# show the slowest unit tests
|
||||
slow:
|
||||
|
||||
23
examples/info_example.py
Normal file
23
examples/info_example.py
Normal file
@@ -0,0 +1,23 @@
|
||||
"""Simple program to demo how to use meshtastic library.
|
||||
To run: python examples/info.py
|
||||
"""
|
||||
|
||||
import meshtastic
|
||||
import meshtastic.serial_interface
|
||||
|
||||
iface = meshtastic.serial_interface.SerialInterface()
|
||||
|
||||
# call showInfo() just to ensure values are populated
|
||||
#info = iface.showInfo()
|
||||
|
||||
if iface.myInfo:
|
||||
#print(f'myInfo:{iface.myInfo}')
|
||||
print(f'firmware_version:{iface.myInfo.firmware_version}')
|
||||
|
||||
if iface.nodes:
|
||||
for n in iface.nodes.values():
|
||||
if n['num'] == iface.myInfo.my_node_num:
|
||||
print(n['user']['hwModel'])
|
||||
break
|
||||
|
||||
iface.close()
|
||||
@@ -13,7 +13,7 @@ if len(sys.argv) < 2:
|
||||
print(f"usage: {sys.argv[0]} host")
|
||||
sys.exit(1)
|
||||
|
||||
def onConnection(interface, topic=pub.AUTO_TOPIC):
|
||||
def onConnection(interface, topic=pub.AUTO_TOPIC): # pylint: disable=unused-argument
|
||||
"""This is called when we (re)connect to the radio."""
|
||||
print(interface.myInfo)
|
||||
interface.close()
|
||||
|
||||
@@ -14,11 +14,11 @@ if len(sys.argv) < 2:
|
||||
print(f"usage: {sys.argv[0]} host")
|
||||
sys.exit(1)
|
||||
|
||||
def onReceive(packet, interface):
|
||||
def onReceive(packet, interface): # pylint: disable=unused-argument
|
||||
"""called when a packet arrives"""
|
||||
print(f"Received: {packet}")
|
||||
|
||||
def onConnection(interface, topic=pub.AUTO_TOPIC):
|
||||
def onConnection(interface, topic=pub.AUTO_TOPIC): # pylint: disable=unused-argument
|
||||
"""called when we (re)connect to the radio"""
|
||||
# defaults to broadcast, specify a destination ID if you wish
|
||||
interface.sendText("hello mesh")
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
"""
|
||||
|
||||
import sys
|
||||
import meshtastic
|
||||
from meshtastic.supported_device import get_unique_vendor_ids, active_ports_on_supported_devices
|
||||
from meshtastic.util import detect_supported_devices
|
||||
|
||||
|
||||
52
info/mac/rak11200.txt
Normal file
52
info/mac/rak11200.txt
Normal file
@@ -0,0 +1,52 @@
|
||||
|
||||
|
||||
% ioreg -p IOUSB > /tmp/a
|
||||
# only a solid red light (pins GRND and BOOT0 jumpered)
|
||||
|
||||
% ioreg -p IOUSB > /tmp/b
|
||||
# solid red light and solid green light
|
||||
|
||||
% ioreg -p IOUSB > /tmp/c
|
||||
# nothing plugged in
|
||||
|
||||
|
||||
|
||||
% diff /tmp/a /tmp/c
|
||||
13c13
|
||||
< +-o AppleUSBXHCI Root Hub Simulation@14000000 <class AppleUSBRootHubDevice, id 0x100000589, registered, matched, active, busy 0 (15 ms), retain 11>
|
||||
---
|
||||
> +-o AppleUSBXHCI Root Hub Simulation@14000000 <class AppleUSBRootHubDevice, id 0x100000589, registered, matched, active, busy 0 (15 ms), retain 10>
|
||||
18d17
|
||||
< +-o USB Serial@14300000 <class AppleUSBDevice, id 0x100004ca4, registered, matched, active, busy 0 (10 ms), retain 12>
|
||||
|
||||
|
||||
% diff /tmp/b /tmp/c
|
||||
13c13
|
||||
< +-o AppleUSBXHCI Root Hub Simulation@14000000 <class AppleUSBRootHubDevice, id 0x100000589, registered, matched, active, busy 0 (15 ms), retain 11>
|
||||
---
|
||||
> +-o AppleUSBXHCI Root Hub Simulation@14000000 <class AppleUSBRootHubDevice, id 0x100000589, registered, matched, active, busy 0 (15 ms), retain 10>
|
||||
18d17
|
||||
< +-o USB Serial@14300000 <class AppleUSBDevice, id 0x100004ce5, registered, matched, active, busy 0 (11 ms), retain 12>
|
||||
|
||||
|
||||
|
||||
system_profiler SPUSBDataType > /tmp/d
|
||||
# red solid
|
||||
|
||||
|
||||
system_profiler SPUSBDataType > /tmp/e
|
||||
# nothing
|
||||
|
||||
|
||||
% diff /tmp/d /tmp/e
|
||||
38,48d37
|
||||
< USB Serial:
|
||||
<
|
||||
< Product ID: 0x7523
|
||||
< Vendor ID: 0x1a86
|
||||
< Version: 2.64
|
||||
< Speed: Up to 12 Mb/s
|
||||
< Location ID: 0x14300000 / 33
|
||||
< Current Available (mA): 500
|
||||
< Current Required (mA): 98
|
||||
< Extra Operating Current (mA): 0
|
||||
40
info/mac/techo.txt
Normal file
40
info/mac/techo.txt
Normal file
@@ -0,0 +1,40 @@
|
||||
|
||||
in boot mode:
|
||||
|
||||
% mount
|
||||
<snip>
|
||||
/dev/disk122 on /Volumes/TECHOBOOT (msdos, local, nodev, nosuid, noowners)
|
||||
|
||||
% ls -al /Volumes/TECHOBOOT
|
||||
total 3735
|
||||
drwxrwxrwx@ 1 bob staff 2048 Feb 1 16:47 .
|
||||
drwxr-xr-x 5 root wheel 160 Feb 1 16:47 ..
|
||||
drwxrwxrwx 1 bob staff 512 Feb 1 16:47 .fseventsd
|
||||
-rwxrwxrwx 1 bob staff 1908736 Oct 13 08:37 CURRENT.UF2
|
||||
-rwxrwxrwx 1 bob staff 129 Oct 13 08:37 INDEX.HTM
|
||||
-rwxrwxrwx 1 bob staff 237 Oct 13 08:37 INFO_UF2.TXT
|
||||
|
||||
|
||||
# nothing plugged in
|
||||
% ioreg -p IOUSB > /tmp/a
|
||||
# not boot mode
|
||||
% ioreg -p IOUSB > /tmp/b
|
||||
# bootmode
|
||||
% ioreg -p IOUSB > /tmp/c
|
||||
|
||||
|
||||
% diff /tmp/a /tmp/b
|
||||
<snip>
|
||||
> | +-o TTGO_eink@14300000 <class AppleUSBDevice, id 0x100060fe4, registered, matched, active, busy 0 (18 ms), retain 14>
|
||||
|
||||
% diff /tmp/a /tmp/c
|
||||
<snip>
|
||||
> | +-o T-Echo v1@14300000 <class AppleUSBDevice, id 0x100061000, registered, matched, active, busy 0 (25 ms), retain 16>
|
||||
|
||||
contents of: INFO_UF2.TXT
|
||||
|
||||
UF2 Bootloader 0.6.1-2-g1224915 lib/nrfx (v2.0.0) lib/tinyusb (0.10.1-293-gaf8e5a90) lib/uf2 (remotes/origin/configupdate-9-gadbb8c7)
|
||||
Model: LilyGo T-Echo
|
||||
Board-ID: nRF52840-TEcho-v1
|
||||
SoftDevice: S140 version 6.1.1
|
||||
Date: Oct 13 2021
|
||||
141
info/ubuntu/techo.txt
Normal file
141
info/ubuntu/techo.txt
Normal file
@@ -0,0 +1,141 @@
|
||||
|
||||
$ lsusb
|
||||
Bus 002 Device 005: ID 046d:c31c Logitech, Inc. Keyboard K120
|
||||
Bus 002 Device 002: ID 8087:8000 Intel Corp.
|
||||
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
|
||||
Bus 001 Device 107: ID 239a:0029
|
||||
Bus 001 Device 002: ID 8087:8008 Intel Corp.
|
||||
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
|
||||
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
|
||||
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
|
||||
|
||||
$ lsusb -d 239a: -v
|
||||
|
||||
Bus 001 Device 107: ID 239a:0029
|
||||
Couldn't open device, some information will be missing
|
||||
Device Descriptor:
|
||||
bLength 18
|
||||
bDescriptorType 1
|
||||
bcdUSB 2.00
|
||||
bDeviceClass 239 Miscellaneous Device
|
||||
bDeviceSubClass 2
|
||||
bDeviceProtocol 1 Interface Association
|
||||
bMaxPacketSize0 64
|
||||
idVendor 0x239a
|
||||
idProduct 0x0029
|
||||
bcdDevice 1.00
|
||||
iManufacturer 1
|
||||
iProduct 2
|
||||
iSerial 3
|
||||
bNumConfigurations 1
|
||||
Configuration Descriptor:
|
||||
bLength 9
|
||||
bDescriptorType 2
|
||||
wTotalLength 0x0062
|
||||
bNumInterfaces 3
|
||||
bConfigurationValue 1
|
||||
iConfiguration 0
|
||||
bmAttributes 0xa0
|
||||
(Bus Powered)
|
||||
Remote Wakeup
|
||||
MaxPower 100mA
|
||||
Interface Association:
|
||||
bLength 8
|
||||
bDescriptorType 11
|
||||
bFirstInterface 0
|
||||
bInterfaceCount 2
|
||||
bFunctionClass 2 Communications
|
||||
bFunctionSubClass 2 Abstract (modem)
|
||||
bFunctionProtocol 0
|
||||
iFunction 0
|
||||
Interface Descriptor:
|
||||
bLength 9
|
||||
bDescriptorType 4
|
||||
bInterfaceNumber 0
|
||||
bAlternateSetting 0
|
||||
bNumEndpoints 1
|
||||
bInterfaceClass 2 Communications
|
||||
bInterfaceSubClass 2 Abstract (modem)
|
||||
bInterfaceProtocol 0
|
||||
iInterface 4
|
||||
CDC Header:
|
||||
bcdCDC 1.20
|
||||
CDC Call Management:
|
||||
bmCapabilities 0x00
|
||||
bDataInterface 1
|
||||
CDC ACM:
|
||||
bmCapabilities 0x02
|
||||
line coding and serial state
|
||||
CDC Union:
|
||||
bMasterInterface 0
|
||||
bSlaveInterface 1
|
||||
Endpoint Descriptor:
|
||||
bLength 7
|
||||
bDescriptorType 5
|
||||
bEndpointAddress 0x81 EP 1 IN
|
||||
bmAttributes 3
|
||||
Transfer Type Interrupt
|
||||
Synch Type None
|
||||
Usage Type Data
|
||||
wMaxPacketSize 0x0008 1x 8 bytes
|
||||
bInterval 16
|
||||
Interface Descriptor:
|
||||
bLength 9
|
||||
bDescriptorType 4
|
||||
bInterfaceNumber 1
|
||||
bAlternateSetting 0
|
||||
bNumEndpoints 2
|
||||
bInterfaceClass 10 CDC Data
|
||||
bInterfaceSubClass 0
|
||||
bInterfaceProtocol 0
|
||||
iInterface 0
|
||||
Endpoint Descriptor:
|
||||
bLength 7
|
||||
bDescriptorType 5
|
||||
bEndpointAddress 0x02 EP 2 OUT
|
||||
bmAttributes 2
|
||||
Transfer Type Bulk
|
||||
Synch Type None
|
||||
Usage Type Data
|
||||
wMaxPacketSize 0x0040 1x 64 bytes
|
||||
bInterval 0
|
||||
Endpoint Descriptor:
|
||||
bLength 7
|
||||
bDescriptorType 5
|
||||
bEndpointAddress 0x82 EP 2 IN
|
||||
bmAttributes 2
|
||||
Transfer Type Bulk
|
||||
Synch Type None
|
||||
Usage Type Data
|
||||
wMaxPacketSize 0x0040 1x 64 bytes
|
||||
bInterval 0
|
||||
Interface Descriptor:
|
||||
bLength 9
|
||||
bDescriptorType 4
|
||||
bInterfaceNumber 2
|
||||
bAlternateSetting 0
|
||||
bNumEndpoints 2
|
||||
bInterfaceClass 8 Mass Storage
|
||||
bInterfaceSubClass 6 SCSI
|
||||
bInterfaceProtocol 80 Bulk-Only
|
||||
iInterface 5
|
||||
Endpoint Descriptor:
|
||||
bLength 7
|
||||
bDescriptorType 5
|
||||
bEndpointAddress 0x03 EP 3 OUT
|
||||
bmAttributes 2
|
||||
Transfer Type Bulk
|
||||
Synch Type None
|
||||
Usage Type Data
|
||||
wMaxPacketSize 0x0040 1x 64 bytes
|
||||
bInterval 0
|
||||
Endpoint Descriptor:
|
||||
bLength 7
|
||||
bDescriptorType 5
|
||||
bEndpointAddress 0x83 EP 3 IN
|
||||
bmAttributes 2
|
||||
Transfer Type Bulk
|
||||
Synch Type None
|
||||
Usage Type Data
|
||||
wMaxPacketSize 0x0040 1x 64 bytes
|
||||
bInterval 0
|
||||
@@ -13,7 +13,8 @@ Bus 001 Device 002: ID 8087:8008 Intel Corp.
|
||||
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
|
||||
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
|
||||
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
|
||||
(venv) mikekinney@top:~/Meshtastic-python/info/ubuntu$ lsusb -d 1a86: -v
|
||||
|
||||
$ lsusb -d 1a86: -v
|
||||
|
||||
Bus 001 Device 099: ID 1a86:55d4 QinHeng Electronics
|
||||
Couldn't open device, some information will be missing
|
||||
|
||||
302
info/windows/techo.txt
Normal file
302
info/windows/techo.txt
Normal file
@@ -0,0 +1,302 @@
|
||||
PS > Get-PnpDevice -PresentOnly | Format-List >a
|
||||
PS > Get-PnpDevice -PresentOnly | Format-List >b
|
||||
PS > Compare-Object (get-content a) (get-content b)
|
||||
|
||||
|
||||
Note: Not in boot mode
|
||||
|
||||
InputObject Side
|
||||
Indi
|
||||
cato
|
||||
r
|
||||
----------- ----
|
||||
DeviceID : USB\VID_239A&PID_4405\D02012062C578951 =>
|
||||
PNPDeviceID : USB\VID_239A&PID_4405\D02012062C578951 =>
|
||||
HardwareID : {USB\VID_239A&PID_4405&REV_0100, USB\VID_239A&PID_4405} =>
|
||||
InstanceId : USB\VID_239A&PID_4405\D02012062C578951 =>
|
||||
Caption : USB Composite Device =>
|
||||
Description : USB Composite Device =>
|
||||
Name : USB Composite Device =>
|
||||
ClassGuid : {36fc9e60-c465-11cf-8056-444553540000} =>
|
||||
CompatibleID : {USB\DevClass_00&SubClass_00&Prot_00, USB\DevClass_00&SubClass_00, USB\DevClass_00, =>
|
||||
USB\COMPOSITE} =>
|
||||
Manufacturer : (Standard USB Host Controller) =>
|
||||
PNPClass : USB =>
|
||||
Service : usbccgp =>
|
||||
Class : USB =>
|
||||
FriendlyName : USB Composite Device =>
|
||||
Caption : USB Serial Device (COM10) =>
|
||||
Description : USB Serial Device =>
|
||||
Name : USB Serial Device (COM10) =>
|
||||
DeviceID : USB\VID_239A&PID_4405&MI_00\6&1B68A3E6&0&0000 =>
|
||||
PNPDeviceID : USB\VID_239A&PID_4405&MI_00\6&1B68A3E6&0&0000 =>
|
||||
ClassGuid : {4d36e978-e325-11ce-bfc1-08002be10318} =>
|
||||
CompatibleID : {USB\Class_02&SubClass_02&Prot_00, USB\Class_02&SubClass_02, USB\Class_02} =>
|
||||
HardwareID : {USB\VID_239A&PID_4405&REV_0100&MI_00, USB\VID_239A&PID_4405&MI_00} =>
|
||||
PNPClass : Ports =>
|
||||
Service : usbser =>
|
||||
Class : Ports =>
|
||||
FriendlyName : USB Serial Device (COM10) =>
|
||||
InstanceId : USB\VID_239A&PID_4405&MI_00\6&1B68A3E6&0&0000 =>
|
||||
InstallDate : =>
|
||||
Status : OK =>
|
||||
Availability : =>
|
||||
ConfigManagerErrorCode : CM_PROB_NONE =>
|
||||
ConfigManagerUserConfig : False =>
|
||||
CreationClassName : Win32_PnPEntity =>
|
||||
ErrorCleared : =>
|
||||
ErrorDescription : =>
|
||||
LastErrorCode : =>
|
||||
PowerManagementCapabilities : =>
|
||||
PowerManagementSupported : =>
|
||||
StatusInfo : =>
|
||||
SystemCreationClassName : Win32_ComputerSystem =>
|
||||
SystemName : DESKTOP-FRFQN8H =>
|
||||
Present : True =>
|
||||
PSComputerName : =>
|
||||
Problem : CM_PROB_NONE =>
|
||||
ProblemDescription : =>
|
||||
InstallDate : =>
|
||||
Status : OK =>
|
||||
Availability : =>
|
||||
ConfigManagerErrorCode : CM_PROB_NONE =>
|
||||
ConfigManagerUserConfig : False =>
|
||||
CreationClassName : Win32_PnPEntity =>
|
||||
ErrorCleared : =>
|
||||
ErrorDescription : =>
|
||||
LastErrorCode : =>
|
||||
PowerManagementCapabilities : =>
|
||||
PowerManagementSupported : =>
|
||||
StatusInfo : =>
|
||||
SystemCreationClassName : Win32_ComputerSystem =>
|
||||
SystemName : DESKTOP-FRFQN8H =>
|
||||
Manufacturer : Microsoft =>
|
||||
Present : True =>
|
||||
PSComputerName : =>
|
||||
Problem : CM_PROB_NONE =>
|
||||
ProblemDescription : =>
|
||||
=>
|
||||
|
||||
in boot mode
|
||||
|
||||
PS > Get-PnpDevice -PresentOnly | Format-List >c
|
||||
PS > Compare-Object (get-content a) (get-content c)
|
||||
|
||||
InputObject
|
||||
-----------
|
||||
Caption : Adafruit nRF UF2 USB Device
|
||||
Name : Adafruit nRF UF2 USB Device
|
||||
DeviceID : USBSTOR\DISK&VEN_ADAFRUIT&PROD_NRF_UF2&REV_1.0\7&10304CB2&0&D02012062C578951&0
|
||||
PNPDeviceID : USBSTOR\DISK&VEN_ADAFRUIT&PROD_NRF_UF2&REV_1.0\7&10304CB2&0&D02012062C578951&0
|
||||
CompatibleID : {USBSTOR\Disk, USBSTOR\RAW, GenDisk}
|
||||
HardwareID : {USBSTOR\DiskAdafruitnRF_UF2_________1.0_, USBSTOR\DiskAdafruitnRF_UF2_________,
|
||||
USBSTOR\DiskAdafruit, USBSTOR\AdafruitnRF_UF2_________1...}
|
||||
FriendlyName : Adafruit nRF UF2 USB Device
|
||||
InstanceId : USBSTOR\DISK&VEN_ADAFRUIT&PROD_NRF_UF2&REV_1.0\7&10304CB2&0&D02012062C578951&0
|
||||
Caption : USB Mass Storage Device
|
||||
Description : USB Mass Storage Device
|
||||
Name : USB Mass Storage Device
|
||||
DeviceID : USB\VID_239A&PID_0029&MI_02\6&2AE8D65&0&0002
|
||||
PNPDeviceID : USB\VID_239A&PID_0029&MI_02\6&2AE8D65&0&0002
|
||||
CompatibleID : {USB\Class_08&SubClass_06&Prot_50, USB\Class_08&SubClass_06, USB\Class_08}
|
||||
HardwareID : {USB\VID_239A&PID_0029&REV_0100&MI_02, USB\VID_239A&PID_0029&MI_02}
|
||||
Manufacturer : Compatible USB storage device
|
||||
Service : USBSTOR
|
||||
FriendlyName : USB Mass Storage Device
|
||||
InstanceId : USB\VID_239A&PID_0029&MI_02\6&2AE8D65&0&0002
|
||||
Caption : USB Serial Device (COM11)
|
||||
Description : USB Serial Device
|
||||
Name : USB Serial Device (COM11)
|
||||
DeviceID : USB\VID_239A&PID_0029&MI_00\6&2AE8D65&0&0000
|
||||
PNPDeviceID : USB\VID_239A&PID_0029&MI_00\6&2AE8D65&0&0000
|
||||
ClassGuid : {4d36e978-e325-11ce-bfc1-08002be10318}
|
||||
CompatibleID : {USB\Class_02&SubClass_02&Prot_00, USB\Class_02&SubClass_02, USB\Class_02}
|
||||
HardwareID : {USB\VID_239A&PID_0029&REV_0100&MI_00, USB\VID_239A&PID_0029&MI_00}
|
||||
PNPClass : Ports
|
||||
Service : usbser
|
||||
Class : Ports
|
||||
FriendlyName : USB Serial Device (COM11)
|
||||
InstanceId : USB\VID_239A&PID_0029&MI_00\6&2AE8D65&0&0000
|
||||
ClassGuid : {36fc9e60-c465-11cf-8056-444553540000}
|
||||
PNPClass : USB
|
||||
Class : USB
|
||||
Caption : USB Composite Device
|
||||
Description : USB Composite Device
|
||||
Name : USB Composite Device
|
||||
DeviceID : USB\VID_239A&PID_0029\D02012062C578951
|
||||
PNPDeviceID : USB\VID_239A&PID_0029\D02012062C578951
|
||||
ClassGuid : {36fc9e60-c465-11cf-8056-444553540000}
|
||||
CompatibleID : {USB\DevClass_00&SubClass_00&Prot_00, USB\DevClass_00&SubClass_00, USB\DevClass_00,
|
||||
USB\COMPOSITE}
|
||||
HardwareID : {USB\VID_239A&PID_0029&REV_0100, USB\VID_239A&PID_0029}
|
||||
Manufacturer : (Standard USB Host Controller)
|
||||
PNPClass : USB
|
||||
Service : usbccgp
|
||||
Class : USB
|
||||
FriendlyName : USB Composite Device
|
||||
InstanceId : USB\VID_239A&PID_0029\D02012062C578951
|
||||
DeviceID : STORAGE\VOLUME\_??_USBSTOR#DISK&VEN_ADAFRUIT&PROD_NRF_UF2&REV_1.0#7&10304CB2&0&D02012062C
|
||||
578951&0#{53F56307-B6BF-11D0-94F2-00A0C91EFB8B}
|
||||
PNPDeviceID : STORAGE\VOLUME\_??_USBSTOR#DISK&VEN_ADAFRUIT&PROD_NRF_UF2&REV_1.0#7&10304CB2&0&D02012062C
|
||||
578951&0#{53F56307-B6BF-11D0-94F2-00A0C91EFB8B}
|
||||
InstanceId : STORAGE\VOLUME\_??_USBSTOR#DISK&VEN_ADAFRUIT&PROD_NRF_UF2&REV_1.0#7&10304CB2&0&D02012062C
|
||||
578951&0#{53F56307-B6BF-11D0-94F2-00A0C91EFB8B}
|
||||
Caption : Volume
|
||||
Description : Volume
|
||||
Name : Volume
|
||||
ClassGuid : {71a27cdd-812a-11d0-bec7-08002be2092f}
|
||||
HardwareID : {STORAGE\Volume}
|
||||
PNPClass : Volume
|
||||
Service : volume
|
||||
Class : Volume
|
||||
FriendlyName : Volume
|
||||
Description : Disk drive
|
||||
ClassGuid : {4d36e967-e325-11ce-bfc1-08002be10318}
|
||||
Manufacturer : (Standard disk drives)
|
||||
PNPClass : DiskDrive
|
||||
Service : disk
|
||||
Class : DiskDrive
|
||||
Caption : TECHOBOOT
|
||||
Description : nRF UF2
|
||||
Name : TECHOBOOT
|
||||
DeviceID : SWD\WPDBUSENUM\_??_USBSTOR#DISK&VEN_ADAFRUIT&PROD_NRF_UF2&REV_1.0#7&10304CB2&0&D02012062C
|
||||
578951&0#{53F56307-B6BF-11D0-94F2-00A0C91EFB8B}
|
||||
PNPDeviceID : SWD\WPDBUSENUM\_??_USBSTOR#DISK&VEN_ADAFRUIT&PROD_NRF_UF2&REV_1.0#7&10304CB2&0&D02012062C
|
||||
578951&0#{53F56307-B6BF-11D0-94F2-00A0C91EFB8B}
|
||||
ClassGuid : {eec5ad98-8080-425f-922a-dabf3de3f69a}
|
||||
CompatibleID : {wpdbusenum\fs, SWD\Generic}
|
||||
HardwareID :
|
||||
Manufacturer : Adafruit
|
||||
PNPClass : WPD
|
||||
Service : WUDFWpdFs
|
||||
Class : WPD
|
||||
FriendlyName : TECHOBOOT
|
||||
InstanceId : SWD\WPDBUSENUM\_??_USBSTOR#DISK&VEN_ADAFRUIT&PROD_NRF_UF2&REV_1.0#7&10304CB2&0&D02012062C
|
||||
578951&0#{53F56307-B6BF-11D0-94F2-00A0C91EFB8B}
|
||||
CompatibleID :
|
||||
InstallDate :
|
||||
Status : OK
|
||||
Availability :
|
||||
ConfigManagerErrorCode : CM_PROB_NONE
|
||||
ConfigManagerUserConfig : False
|
||||
CreationClassName : Win32_PnPEntity
|
||||
ErrorCleared :
|
||||
ErrorDescription :
|
||||
LastErrorCode :
|
||||
PowerManagementCapabilities :
|
||||
PowerManagementSupported :
|
||||
StatusInfo :
|
||||
SystemCreationClassName : Win32_ComputerSystem
|
||||
SystemName : DESKTOP-FRFQN8H
|
||||
Present : True
|
||||
PSComputerName :
|
||||
Problem : CM_PROB_NONE
|
||||
ProblemDescription :
|
||||
InstallDate :
|
||||
Status : OK
|
||||
Availability :
|
||||
ConfigManagerErrorCode : CM_PROB_NONE
|
||||
ConfigManagerUserConfig : False
|
||||
CreationClassName : Win32_PnPEntity
|
||||
ErrorCleared :
|
||||
ErrorDescription :
|
||||
LastErrorCode :
|
||||
PowerManagementCapabilities :
|
||||
PowerManagementSupported :
|
||||
StatusInfo :
|
||||
SystemCreationClassName : Win32_ComputerSystem
|
||||
SystemName : DESKTOP-FRFQN8H
|
||||
Present : True
|
||||
PSComputerName :
|
||||
Problem : CM_PROB_NONE
|
||||
ProblemDescription :
|
||||
InstallDate :
|
||||
Status : OK
|
||||
Availability :
|
||||
ConfigManagerErrorCode : CM_PROB_NONE
|
||||
ConfigManagerUserConfig : False
|
||||
CreationClassName : Win32_PnPEntity
|
||||
ErrorCleared :
|
||||
ErrorDescription :
|
||||
LastErrorCode :
|
||||
PowerManagementCapabilities :
|
||||
PowerManagementSupported :
|
||||
StatusInfo :
|
||||
SystemCreationClassName : Win32_ComputerSystem
|
||||
SystemName : DESKTOP-FRFQN8H
|
||||
Present : True
|
||||
PSComputerName :
|
||||
Problem : CM_PROB_NONE
|
||||
ProblemDescription :
|
||||
|
||||
InstallDate :
|
||||
Status : OK
|
||||
Availability :
|
||||
ConfigManagerErrorCode : CM_PROB_NONE
|
||||
ConfigManagerUserConfig : False
|
||||
CreationClassName : Win32_PnPEntity
|
||||
ErrorCleared :
|
||||
ErrorDescription :
|
||||
LastErrorCode :
|
||||
PowerManagementCapabilities :
|
||||
PowerManagementSupported :
|
||||
StatusInfo :
|
||||
SystemCreationClassName : Win32_ComputerSystem
|
||||
SystemName : DESKTOP-FRFQN8H
|
||||
Manufacturer : Microsoft
|
||||
Present : True
|
||||
PSComputerName :
|
||||
Problem : CM_PROB_NONE
|
||||
ProblemDescription :
|
||||
|
||||
InstallDate :
|
||||
Status : OK
|
||||
Availability :
|
||||
ConfigManagerErrorCode : CM_PROB_NONE
|
||||
ConfigManagerUserConfig : False
|
||||
CreationClassName : Win32_PnPEntity
|
||||
ErrorCleared :
|
||||
ErrorDescription :
|
||||
LastErrorCode :
|
||||
PowerManagementCapabilities :
|
||||
PowerManagementSupported :
|
||||
StatusInfo :
|
||||
SystemCreationClassName : Win32_ComputerSystem
|
||||
SystemName : DESKTOP-FRFQN8H
|
||||
Present : True
|
||||
PSComputerName :
|
||||
Problem : CM_PROB_NONE
|
||||
ProblemDescription :
|
||||
|
||||
InstallDate :
|
||||
Status : OK
|
||||
Availability :
|
||||
ConfigManagerErrorCode : CM_PROB_NONE
|
||||
ConfigManagerUserConfig : False
|
||||
CreationClassName : Win32_PnPEntity
|
||||
ErrorCleared :
|
||||
ErrorDescription :
|
||||
LastErrorCode :
|
||||
PowerManagementCapabilities :
|
||||
PowerManagementSupported :
|
||||
StatusInfo :
|
||||
SystemCreationClassName : Win32_ComputerSystem
|
||||
SystemName : DESKTOP-FRFQN8H
|
||||
Manufacturer : Microsoft
|
||||
Present : True
|
||||
PSComputerName :
|
||||
Problem : CM_PROB_NONE
|
||||
ProblemDescription :
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
PS > Get-Volume
|
||||
|
||||
DriveLetter FriendlyName FileSystemType DriveType HealthStatus OperationalStatus SizeRemaining Size
|
||||
----------- ------------ -------------- --------- ------------ ----------------- ------------- ----
|
||||
Recovery NTFS Fixed Healthy OK 301.99 MB 854 MB
|
||||
C NTFS Fixed Healthy OK 22.3 GB 56.67 GB
|
||||
D TECHOBOOT FAT Removable Healthy OK 30.05 MB 31.88 MB
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
Run from Windows 10
|
||||
|
||||
PS C:\Users\mikekinney> Get-PnpDevice -PresentOnly | Format-List > a
|
||||
PS C:\Users\mikekinney> Get-PnpDevice -PresentOnly | Format-List > b
|
||||
PS C:\Users\mikekinney> Compare-Object (get-content a) (Get-Content b)
|
||||
PS > Get-PnpDevice -PresentOnly | Format-List > a
|
||||
PS > Get-PnpDevice -PresentOnly | Format-List > b
|
||||
PS > Compare-Object (get-content a) (Get-Content b)
|
||||
|
||||
InputObject SideIndicator
|
||||
----------- -------------
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -89,7 +89,8 @@ class StreamInterface(MeshInterface):
|
||||
self.stream.write(b)
|
||||
self.stream.flush()
|
||||
# we sleep here to give the TBeam a chance to work
|
||||
time.sleep(0.1)
|
||||
# also win11 might need a bit more time, too
|
||||
time.sleep(1.0)
|
||||
|
||||
def _readBytes(self, length):
|
||||
"""Read an array of bytes from our stream"""
|
||||
|
||||
@@ -66,11 +66,16 @@ heltec_v2_0 = SupportedDevice(name="Heltec", version="2.0", for_firmware="heltec
|
||||
heltec_v2_1 = SupportedDevice(name="Heltec", version="2.1", for_firmware="heltec-v2.1",
|
||||
baseport_on_linux="ttyUSB", baseport_on_mac="cu.usbserial-",
|
||||
usb_vendor_id_in_hex="10c4", usb_product_id_in_hex="ea60")
|
||||
rak11200 = SupportedDevice(name="RAK 11200", version="", for_firmware="rak11200",
|
||||
baseport_on_linux="ttyUSB", baseport_on_mac="cu.usbserial-",
|
||||
usb_vendor_id_in_hex="1a86", usb_product_id_in_hex="7523")
|
||||
meshtastic_diy_v1 = SupportedDevice(name="Meshtastic DIY", version="1", for_firmware="meshtastic-diy-v1",
|
||||
baseport_on_linux="ttyUSB", baseport_on_mac="cu.usbserial-",
|
||||
usb_vendor_id_in_hex="10c4", usb_product_id_in_hex="ea60")
|
||||
# TODO: get info on TEcho
|
||||
techo_1 = SupportedDevice(name="T-Echo", version="1", for_firmware="t-echo-1", device_class="nrf52")
|
||||
# Note: The T-Echo reports product id in boot mode
|
||||
techo_1 = SupportedDevice(name="T-Echo", version="1", for_firmware="t-echo-1", device_class="nrf52",
|
||||
baseport_on_linux="ttyACM", baseport_on_mac="cu.usbmodem",
|
||||
usb_vendor_id_in_hex="239a", usb_product_id_in_hex="0029")
|
||||
rak4631_5005 = SupportedDevice(name="RAK 4631 5005", version="", for_firmware="rak4631_5005",
|
||||
device_class="nrf52",
|
||||
baseport_on_linux="ttyACM", baseport_on_mac="cu.usbmodem",
|
||||
@@ -84,7 +89,8 @@ rak4631_19003 = SupportedDevice(name="RAK 4631 19003", version="", for_firmware=
|
||||
supported_devices = [tbeam_v0_7, tbeam_v1_1, tbeam_M8N, tbeam_M8N_SX1262,
|
||||
tlora_v1_1, tlora_v1_3, tlora_v2_0, tlora_v2_1, tlora_v2_1_1_6,
|
||||
heltec_v1, heltec_v2_0, heltec_v2_1,
|
||||
meshtastic_diy_v1, techo_1, rak4631_5005, rak4631_19003]
|
||||
meshtastic_diy_v1, techo_1, rak4631_5005, rak4631_19003,
|
||||
rak11200]
|
||||
|
||||
|
||||
def get_unique_vendor_ids():
|
||||
|
||||
2
proto
2
proto
Submodule proto updated: 792027be93...2930129e8e
2
setup.py
2
setup.py
@@ -12,7 +12,7 @@ with open("README.md", "r") as fh:
|
||||
# This call to setup() does all the work
|
||||
setup(
|
||||
name="meshtastic",
|
||||
version="1.2.79",
|
||||
version="1.2.83",
|
||||
description="Python API & client shell for talking to Meshtastic devices",
|
||||
long_description=long_description,
|
||||
long_description_content_type="text/markdown",
|
||||
|
||||
Reference in New Issue
Block a user