Commit Graph

55 Commits

Author SHA1 Message Date
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
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
geeksville
cb4ec62662 oops sorry @nicetechguy, fix #2. in scripting languages without static
validation, gotta check all execution paths before checking in ;-)
2020-06-17 19:34:53 -07:00
geeksville
8ff5fc0e4c Fix #2 - update nodedb when we receive user or permission 2020-06-17 17:16:55 -07:00
geeksville
5908902e46 send wakeup chars to wake sleeping devices before talking to them
per https://github.com/meshtastic/Meshtastic-device/issues/115
2020-06-10 15:37:23 -07:00
geeksville
e2a037ef1e add --noproto option for not using the protocol at all 2020-06-09 18:19:37 -07:00
geeksville
747328c8f7 Updates to work with 32 bit nodenums 2020-06-06 13:12:40 -07:00
geeksville
830338b20b allow devices to veto this app if we are too old 2020-06-06 11:53:19 -07:00
geeksville
94175874f0 0.5.4 optionally add want_response to text message sends (see example):
meshtastic --debug --sendtext hello

attn @claesg
2020-05-22 10:57:54 -07:00
geeksville
f73dea44b6 cope with nodes that don't have positions 2020-05-21 21:15:19 -07:00
geeksville
54a64d18c5 stress testing new reliable messaging 2020-05-19 15:50:37 -07:00
geeksville
7307a3c716 auto decode text payloads 2020-05-19 15:23:52 -07:00
geeksville
6d3c34878b fix db updates 2020-05-12 18:16:35 -07:00
geeksville
39872ee86b put BLE experiment on back burner 2020-05-12 17:20:12 -07:00
geeksville
8af99477bb begin BLE support 2020-05-12 13:54:11 -07:00
geeksville
bfa2d97e43 support new protobufs 2020-05-12 11:00:11 -07:00
geeksville
5617d7f808 make --sendtext command work 2020-05-03 20:32:54 -07:00
geeksville
dbbf14c4bf add commandline option for setting radio configs 2020-05-03 20:14:11 -07:00
geeksville
8254a2b481 add -info option that prints device information about the node 2020-05-03 19:35:26 -07:00
geeksville
06a00e317b stop wrapping messages in DotMap, some users might not want that 2020-05-03 18:36:24 -07:00
geeksville
948196c38f provide interface as an optional parameter on publishes 2020-05-02 18:56:36 -07:00
geeksville
9fe09a4159 if a test fails exit the entire framework 2020-05-02 08:58:37 -07:00
geeksville
f4bdc07c22 use thread for testing 2020-05-01 22:48:33 -07:00
geeksville
6df00038bc basic stress tester 2020-05-01 19:28:01 -07:00
geeksville
9f453d69d2 doc fix 2020-04-28 19:13:14 -07:00
geeksville
b6f05ea940 detect when device reboots 2020-04-28 17:44:26 -07:00
geeksville
d9afd1e750 fix examples 2020-04-28 17:14:28 -07:00