mirror of
https://github.com/meshtastic/python.git
synced 2026-01-02 12:57:56 -05:00
Compare commits
13 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
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
|
which meshtastic
|
||||||
meshtastic --version
|
meshtastic --version
|
||||||
- name: Run pylint
|
- name: Run pylint
|
||||||
run: pylint meshtastic
|
run: pylint meshtastic examples/
|
||||||
- name: Run tests with pytest
|
- name: Run tests with pytest
|
||||||
run: pytest --cov=meshtastic
|
run: pytest --cov=meshtastic
|
||||||
- name: Generate coverage report
|
- 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 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 remote set-url origin https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}
|
||||||
git add proto
|
git add proto
|
||||||
|
git add meshtastic
|
||||||
git commit -m "Update protobuf submodule" && git push || echo "No changes to commit"
|
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 the codebase
|
||||||
lint:
|
lint:
|
||||||
pylint meshtastic
|
pylint meshtastic examples
|
||||||
|
|
||||||
# show the slowest unit tests
|
# show the slowest unit tests
|
||||||
slow:
|
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")
|
print(f"usage: {sys.argv[0]} host")
|
||||||
sys.exit(1)
|
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."""
|
"""This is called when we (re)connect to the radio."""
|
||||||
print(interface.myInfo)
|
print(interface.myInfo)
|
||||||
interface.close()
|
interface.close()
|
||||||
|
|||||||
@@ -14,11 +14,11 @@ if len(sys.argv) < 2:
|
|||||||
print(f"usage: {sys.argv[0]} host")
|
print(f"usage: {sys.argv[0]} host")
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
def onReceive(packet, interface):
|
def onReceive(packet, interface): # pylint: disable=unused-argument
|
||||||
"""called when a packet arrives"""
|
"""called when a packet arrives"""
|
||||||
print(f"Received: {packet}")
|
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"""
|
"""called when we (re)connect to the radio"""
|
||||||
# defaults to broadcast, specify a destination ID if you wish
|
# defaults to broadcast, specify a destination ID if you wish
|
||||||
interface.sendText("hello mesh")
|
interface.sendText("hello mesh")
|
||||||
|
|||||||
@@ -3,7 +3,6 @@
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
import sys
|
import sys
|
||||||
import meshtastic
|
|
||||||
from meshtastic.supported_device import get_unique_vendor_ids, active_ports_on_supported_devices
|
from meshtastic.supported_device import get_unique_vendor_ids, active_ports_on_supported_devices
|
||||||
from meshtastic.util import detect_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 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 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
|
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
|
Bus 001 Device 099: ID 1a86:55d4 QinHeng Electronics
|
||||||
Couldn't open device, some information will be missing
|
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
|
Run from Windows 10
|
||||||
|
|
||||||
PS C:\Users\mikekinney> Get-PnpDevice -PresentOnly | Format-List > a
|
PS > Get-PnpDevice -PresentOnly | Format-List > a
|
||||||
PS C:\Users\mikekinney> Get-PnpDevice -PresentOnly | Format-List > b
|
PS > Get-PnpDevice -PresentOnly | Format-List > b
|
||||||
PS C:\Users\mikekinney> Compare-Object (get-content a) (Get-Content b)
|
PS > Compare-Object (get-content a) (Get-Content b)
|
||||||
|
|
||||||
InputObject SideIndicator
|
InputObject SideIndicator
|
||||||
----------- -------------
|
----------- -------------
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -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",
|
heltec_v2_1 = SupportedDevice(name="Heltec", version="2.1", for_firmware="heltec-v2.1",
|
||||||
baseport_on_linux="ttyUSB", baseport_on_mac="cu.usbserial-",
|
baseport_on_linux="ttyUSB", baseport_on_mac="cu.usbserial-",
|
||||||
usb_vendor_id_in_hex="10c4", usb_product_id_in_hex="ea60")
|
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",
|
meshtastic_diy_v1 = SupportedDevice(name="Meshtastic DIY", version="1", for_firmware="meshtastic-diy-v1",
|
||||||
baseport_on_linux="ttyUSB", baseport_on_mac="cu.usbserial-",
|
baseport_on_linux="ttyUSB", baseport_on_mac="cu.usbserial-",
|
||||||
usb_vendor_id_in_hex="10c4", usb_product_id_in_hex="ea60")
|
usb_vendor_id_in_hex="10c4", usb_product_id_in_hex="ea60")
|
||||||
# TODO: get info on TEcho
|
# 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")
|
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",
|
rak4631_5005 = SupportedDevice(name="RAK 4631 5005", version="", for_firmware="rak4631_5005",
|
||||||
device_class="nrf52",
|
device_class="nrf52",
|
||||||
baseport_on_linux="ttyACM", baseport_on_mac="cu.usbmodem",
|
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,
|
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,
|
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,
|
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():
|
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
|
# This call to setup() does all the work
|
||||||
setup(
|
setup(
|
||||||
name="meshtastic",
|
name="meshtastic",
|
||||||
version="1.2.79",
|
version="1.2.82",
|
||||||
description="Python API & client shell for talking to Meshtastic devices",
|
description="Python API & client shell for talking to Meshtastic devices",
|
||||||
long_description=long_description,
|
long_description=long_description,
|
||||||
long_description_content_type="text/markdown",
|
long_description_content_type="text/markdown",
|
||||||
|
|||||||
Reference in New Issue
Block a user