Commit Graph

80 Commits

Author SHA1 Message Date
Kevin Hester
1eb47a29e0 a possible but untested fix for #41 2020-12-13 13:12:44 +08:00
Kevin Hester
0b1340cce1 1.1.22 make deprecation message just a warning 2020-12-10 13:59:30 +08:00
Kevin Hester
2c27b51b50 only warn about downrev device firmware (because most users are not using position parsing probably) 2020-12-10 13:32:13 +08:00
Kevin Hester
27466fc8b4 make --noproto work with new system 2020-12-09 12:13:35 +08:00
Kevin Hester
9ff8eb1771 new protobufs 2020-12-09 12:10:58 +08:00
Kevin Hester
3645cff97e fix problems found in sanity test 2020-12-09 09:41:49 +08:00
Kevin Hester
1f91f541ef add sanity prerelease tests 2020-12-09 09:21:41 +08:00
Kevin Hester
0662c2b2ac doc fix 2020-12-09 08:55:44 +08:00
Kevin Hester
61d72da31f change to use a thread event to prevent race conditions waiting for config 2020-12-09 08:55:27 +08:00
Kevin Hester
e7da4093a2 the reader thread should be daemon, so failure to close if won't prevent app exit 2020-12-09 08:44:22 +08:00
Kevin Hester
cc77a2ab1e fix #19 (and misc changes for the new clean device API) 2020-12-07 13:07:00 +08:00
Kevin Hester
401de19bf7 WIP add gpiowr:
bin/run.sh --dest \!2462abf84098 --gpiowr 4 1
2020-12-07 12:42:06 +08:00
Kevin Hester
6e1e6efbf9 raise exception if data payload is too big 2020-12-06 16:10:01 +08:00
Kevin Hester
fa2f0bdc60 add (untested for now) new position/user message handling 2020-12-06 09:54:58 +08:00
Kevin Hester
2cdf38511f automatically convert protobufs provided as data 2020-12-06 09:32:29 +08:00
Kevin Hester
b63da8dd61 send positions using the new API 2020-12-06 09:27:14 +08:00
Kevin Hester
ac31189798 WIP for new cleaned up device API 2020-12-06 09:03:28 +08:00
Kevin Hester
5972dc6dd2 make our version 1.1.20 2020-12-05 10:24:48 +08:00
Kevin Hester
1ebfdd46fe Merge pull request #31 from timgunter/wait_for_config
Added waitForConfig() method to MeshInterface
2020-10-28 18:43:21 -07:00
Kevin Hester
a206297b75 Merge pull request #32 from timgunter/add_set_url
Add setURL() method to MeshInterface
2020-10-28 18:42:52 -07:00
Kevin Hester
d0eb994052 Merge pull request #29 from timgunter/set_owner
Add setOwner() method to MeshInterface
2020-10-28 18:42:15 -07:00
Kevin Hester
4e220e60fc Merge pull request #28 from timgunter/pubsub_node_update
Bug fix for pubsub meshtastic.node.updated not being sent
2020-10-28 18:41:39 -07:00
Gunter Tim
becfb76464 Added support for context management 2020-10-25 12:41:04 -07:00
Gunter Tim
4fd4b70d97 Added waitForConfig() method to MeshInterface 2020-10-25 11:42:53 -07:00
Gunter Tim
a7fbfcb948 Add setURL() method to MeshInterface 2020-10-25 11:24:09 -07:00
Gunter Tim
e4c98ab5ba Add get long and short name methods to MeshInterface 2020-10-18 14:42:43 -07:00
Gunter Tim
77e5d5acd0 Add setOwner() method to MeshInterface 2020-10-18 11:10:59 -07:00
Gunter Tim
ff14036817 Bug fix for pubsub meshtastic.node.updated not being sent 2020-10-16 10:27:47 -07:00
Kevin Hester
1546e6566f fix #27 2020-10-15 08:21:27 +08:00
Nils Werner
1d40495c0b Implement meshtastic.receive.text topic 2020-10-02 13:48:37 +02:00
geeksville
c258d9f4f4 Change doc mentions of StreamInterface into SerialInterface 2020-09-27 20:02:26 -07:00
geeksville
cca38a04ee 1.0.13 2020-09-25 16:50:24 -07:00
geeksville
13be218620 use inheritence on tcp streams 2020-09-25 16:04:42 -07:00
geeksville
d789bff9cb WIP - adding TCP client, still need to use recv/send instead of read/write 2020-09-19 12:53:19 -07:00
geeksville
e4a424ccee support new --set factory_reset true preferences option 2020-09-19 11:19:03 -07:00
geeksville
edc366c2a5 improve docs 2020-09-17 16:24:27 -07:00
geeksville
653c31e1dc #18 only control RTS on OS-X 2020-09-16 10:04:56 -07:00
Kevin Hester
9642dd0817 Merge pull request #17 from timgunter/patch-1
Possible typo?
2020-09-16 09:54:00 -07:00
geeksville
8c86a49b63 fix #18 reset button was disabled
ooh this one was super interesting.  I was able to repro from your great description.  The problem was that leaving rts low was disabling the reset button on the board.  So I think the only fix needed was to raise rts high before we close the port.

Meshtastic-python$ bin/run.sh --setstr wifi_ssid "asdf" --debug
rm: cannot remove 'log_*': No such file or directory
DEBUG:root:Connecting to /dev/ttyUSB0
DEBUG:root:Sending: want_config_id: 42

Trigger powerFSM 9
DEBUG:root:Received: {'myInfo': {'myNodeNum': 2883444536, 'hasGps': True, 'numChannels': 13, 'region': 'unset', 'hwModel': 'tbeam', 'firmwareVersion': 'unset', 'packetIdBits': 32, 'currentPacketId': 380285744, 'nodeNumBits': 32, 'messageTimeoutMsec': 300000, 'minAppVersion': 172}}
DEBUG:root:Received: {'radio': {'preferences': {'positionBroadcastSecs': 900, 'sendOwnerInterval': 4, 'waitBluetoothSecs': 120, 'screenOnSecs': 300, 'phoneTimeoutSecs': 900, 'phoneSdsTimeoutSec': 7200, 'meshSdsTimeoutSecs': 7200, 'sdsSecs': 31536000, 'lsSecs': 3601, 'wifiSsid': 'asdf'}, 'channelSettings': {'modemConfig': 'Bw125Cr48Sf4096', 'psk': '1PG7OiApB1nwvP+rz05pvw==', 'name': 'Default'}}}
DEBUG:root:Received: {'nodeInfo': {'num': 2883444536, 'user': {'id': '!2462abdddf38', 'longName': 'Bob b', 'shortName': 'Bb', 'macaddr': 'JGKr3d84'}, 'position': {'batteryLevel': 100, 'time': 315965514}}}
DEBUG:root:Received: {'nodeInfo': {'num': 682754228, 'user': {'id': '!246f28b200b4', 'longName': 'Bob b', 'shortName': 'Bb', 'macaddr': 'JG8osgC0'}, 'position': {'batteryLevel': 79, 'time': 316593914}, 'snr': 9.5}}
DEBUG:root:Received: {'nodeInfo': {'num': 2441803616, 'user': {'id': '!5002918af760', 'longName': 'ryan', 'shortName': 'r', 'macaddr': 'UAKRivdg'}, 'position': {'batteryLevel': 61, 'time': 316497304}, 'snr': 10.0}}
DEBUG:root:Received: {'nodeInfo': {'num': 862631397, 'user': {'id': '!c44f336ab5e5', 'longName': 'Unknown b5e5', 'shortName': '?E5', 'macaddr': 'xE8zarXl'}, 'position': {'time': 1597965319}, 'snr': 13.25}}
DEBUG:root:Received: {'nodeInfo': {'num': 2441803548, 'user': {'id': '!5002918af71c', 'longName': 'Unknown f71c', 'shortName': '?1C', 'macaddr': 'UAKRivcc'}, 'position': {'batteryLevel': 47, 'time': 316494981}, 'snr': 9.5}}
DEBUG:root:Received: {'nodeInfo': {'num': 82599254, 'user': {'id': '!fd1004ec5d56', 'longName': 'Unknown 5d56', 'shortName': '?56', 'macaddr': '/RAE7F1W'}, 'position': {}, 'snr': 9.25}}
DEBUG:root:Received: {'nodeInfo': {'num': 2885173400, 'user': {'id': '!2462abf84098', 'longName': 'Unknown 4098', 'shortName': '?98', 'macaddr': 'JGKr+ECY'}, 'position': {'batteryLevel': 4, 'time': 315966200}, 'snr': 10.75}}
DEBUG:root:Received: {'configCompleteId': 42}
Connected to radio
Setting preference wifi_ssid to asdf
Writing modified preferences to device
DEBUG:root:Sending: set_radio {
  preferences {
    position_broadcast_secs: 900
    send_owner_interval: 4
    wait_bluetooth_secs: 120
    screen_on_secs: 300
    phone_timeout_secs: 900
    phone_sds_timeout_sec: 7200
    mesh_sds_timeout_secs: 7200
    sds_secs: 31536000
    ls_secs: 3601
    wifi_ssid: "asdf"
  }
  channel_settings {
    modem_config: Bw125Cr48Sf4096
    psk: "\324\361\273: )\007Y\360\274\377\253\317Ni\277"
    name: "Default"
  }
}

DEBUG:root:Closing serial stream
DEBUG:root:reader is exiting
2020-09-16 09:39:45 -07:00
Tim Gunter
4bfa50e3c1 Possible typo?
Should these "self.rfBuf"s be "self._rxBuf"s?
2020-09-16 09:34:02 -07:00
geeksville
1214482ccf 1.0.6 add a channelURL property
Example usage:
```
meshtastic --setchan tx_power 100 --info
Trigger powerFSM 9
Connected to radio
Setting channel parameter tx_power to 100
Writing modified preferences to device
my_node_num: 2883444536
has_gps: true
num_channels: 13
region: "1.0-US"
hw_model: "tbeam"
firmware_version: "1.0.0"
packet_id_bits: 32
current_packet_id: 816090843
node_num_bits: 32
message_timeout_msec: 300000
min_app_version: 172

preferences {
  position_broadcast_secs: 900
  send_owner_interval: 4
  wait_bluetooth_secs: 120
  screen_on_secs: 300
  phone_timeout_secs: 900
  phone_sds_timeout_sec: 7200
  mesh_sds_timeout_secs: 7200
  sds_secs: 31536000
  ls_secs: 3601
}
channel_settings {
  tx_power: 100
  modem_config: Bw125Cr48Sf4096
  psk: "\324\361\273: )\007Y\360\274\377\253\317Ni\277"
  name: "Default"
}

Channel URL https://www.meshtastic.org/c/#CGQYAyIQ1PG7OiApB1nwvP-rz05pvyoHRGVmYXVsdA==
Nodes in mesh:
{'num': 2883444536, 'user': {'id': '!2462abdddf38', 'longName': 'Bob b', 'shortName': 'Bb', 'macaddr': 'JGKr3d84'}, 'position': {'batteryLevel': 100, 'time': 315969731}}
{'num': 682754228, 'user': {'id': '!246f28b200b4', 'longName': 'Bob b', 'shortName': 'Bb', 'macaddr': 'JG8osgC0'}, 'position': {'batteryLevel': 79, 'time': 316593914}, 'snr': 9.5}
{'num': 2441803616, 'user': {'id': '!5002918af760', 'longName': 'ryan', 'shortName': 'r', 'macaddr': 'UAKRivdg'}, 'position': {'batteryLevel': 61, 'time': 316497304}, 'snr': 10.0}
{'num': 862631397, 'user': {'id': '!c44f336ab5e5', 'longName': 'Unknown b5e5', 'shortName': '?E5', 'macaddr': 'xE8zarXl'}, 'position': {'time': 1597965319}, 'snr': 13.25}
{'num': 2441803548, 'user': {'id': '!5002918af71c', 'longName': 'Unknown f71c', 'shortName': '?1C', 'macaddr': 'UAKRivcc'}, 'position': {'batteryLevel': 47, 'time': 316494981}, 'snr': 9.5}
{'num': 82599254, 'user': {'id': '!fd1004ec5d56', 'longName': 'Unknown 5d56', 'shortName': '?56', 'macaddr': '/RAE7F1W'}, 'position': {}, 'snr': 9.25}
{'num': 2885173400, 'user': {'id': '!2462abf84098', 'longName': 'Unknown 4098', 'shortName': '?98', 'macaddr': 'JGKr+ECY'}, 'position': {'batteryLevel': 4, 'time': 315966200}, 'snr': 10.75}
```
2020-09-15 17:32:09 -07:00
geeksville
e485af752b OS-X was rebooting devices on connect, force RTS false
(RTS is connected to ESP32 reset).  Thanks to @mc-hamster for this fix!
2020-09-12 12:31:05 -07:00
geeksville
cc01bc8f72 generate a clear error message if someone sends before we have nodedb 2020-09-11 12:35:43 -07:00
geeksville
2896073982 fix example code 2020-09-11 12:08:06 -07:00
geeksville
6942677b85 1.0.2 update example and handle serial disconnection gracefully 2020-09-11 11:08:16 -07:00
geeksville
cb6f7097c2 fix #12 "meshtastic --sendtext fish --dest '!2462abf84098'" now works 2020-09-08 09:58:23 -07:00
geeksville
331b83a95d fix #8 - set packet IDs 2020-08-18 15:25:43 -07:00
geeksville
0c9c8bca57 Fix #7: Properly decode OPAQUE binary packets...
and add binary sending to the integration tests
2020-08-11 18:16:57 -07:00
geeksville
32f3c504d9 0.7.9 add sendPosition(lat, lng, alt) method also...
Use this method for the --settime command line flag - which sets the device
time to be the same as the local computers time (in UTC)

    def sendPosition(self, latitude=0.0, longitude=0.0, altitude=0, timeSec=0, destinationId=BROADCAST_ADDR, wantAck=False, wantResponse=False):
        """
        Send a position packet to some other node (normally a broadcast)

        Also, the device software will notice this packet and use it to automatically set its notion of
        the local position.

        If timeSec is not specified (recommended), we will use the local machine time.
        """
2020-07-05 12:01:35 -07:00
geeksville
995f1fdce0 don't complain about nodes with no user 2020-06-26 15:50:10 -07:00