Documentation and python library for decoding omnipod communications. Join the Slack channel to discuss this work.
We have figured out the RF modulation and packet/message encoding. We are now working on decoding meaning of the bytes in the body for each of the Message Types.
There are two ways we could use help, beyond trying to crack the two byte crc at the end of messages (though if you want to tackle that, please do!):
- Capture data from different pods and commands using omni_listen_rfcat. If you can document what was being done with the PDM while the packets were recorded, that would be a plus, but raw data can be helpful too. Submit these as new wiki pages and add your new page to the Packet Captures page.
- Start decoding fields for individual commands. A good way to start doing this is to repeatedly perform a certain type of action on the PDM tweaking 1 thing each time, and inspecting the generated packets to see which bytes differ.
One of the following. If you use the TI stick, you will need to flash firmware onto it using a CC-Debugger.
Prerequisites:
- python 2.7 (already installed on MacOS, for windows, download it here)
- pip
- On mac, you'll need libusb.
brew install libusb
(If you don't have Homebrew installed, go here first: https://brew.sh/)
You can install openomni in editable mode like this:
git clone https://github.com/openaps/openomni.git
cd openomni/openomni
pip install -e . --process-dependency-links
** Note: You may need to add 'sudo' before the pip install line if you are using a system python install.
** Note: You can capture packets by plugging an RFCat into a USB port -- then go to the command line, and navigate to this directory: /openomni/bin/ and type:
omni_listen_rfcat
Then issue commands from your PDM and they'll appear at the command line.
=======
** Please note the details below are related to a project created to better understand how the omnipod communicates **
Join the Slack channel to discuss this work.
(To view, you must be logged into the OmniAPS Slack channel. Click here to join.)
- @dan
- @larsonlr
- @t1djoe
- @joakimornstedt
- @pete
- @marius
- @DanaMLewis
- @Garidan
- @SeattleBrighton
- @paul
- @lytrix
- Find out more about the NightScout community here.
- Find out more about the OpenAPS open source DIY artificial pancreas project here.
- Thanks for supporting this effort!!
- All code updates require the use of Pull Requests.
- Documentation updates can be made directly on master.
https://files.slack.com/files-pri/T0B2X082E-F0D390KTP/download/pod_datacap_23oct2015.odt