Comments (5)
that would be awesome! please do! i continually fret about the cc2511 being baud-limited, when the nRF24 chips go up to 2mbps. do you have a usb dongle in mind?
- implementing the RfCat command and control on the chip would be the first step. make rflib understand how to talk to a specific nRF dongle (typically, pyusb talking to the chip).
- once you have the dongle enumerating in the OS, add peek/poke functionality
- from there, decide where it makes sense to do configuration/calculations. currently much of the RfCat functionality is implemented on the Python-side for ease and resources. anything that requires fast turn-around, however, gets placed in the firmware.
let me know what you think.
@
from rfcat.
The CrazyRadio PA USB dongle is great for using that custom firmware, and the mouse and keyboard attack tools that accompany it.
As far as implementing command and control, is the chipcon_usb.py code the python interface to the chipcon_usb.c firmware running on the dongle?
Assuming the nrf_research_firmware is already handling all of the necessary reads/writes to registers on the chip, and SPI and USB stuff; is this about the the place to start mapping those to the existing work in rfcat?
from rfcat.
basically, yes. that makes sense.
ping/poke/peek are the primary functionality. after that, we'll want the nRF to respond to the getBuildInfo() functions, partly so RfCat client code can identify what type of dongle we're using.
from rfcat.
Do you have anything representing the program flow (pseudo-code, flow-chart, bar-napkin)?
from rfcat.
just the code, my friend. it's pretty simple, but probably doesn't look like it.
i've broken the firmware code into layers. the ISR's, main(), and different handlers/buffers/flags which tell the firmware what to do and with what data.
the python side just talks to the handlers on the firmware end. send in a app/verb combo with the correct data. very extensible. responses get placed in a message queue (python list) and then handled by a "mailman" which places messages into the proper message queue (based on response app/verb). bi-directional functions will send in a message, then wait for a response by waiting for a message to show up in the correct message list. if the firmware wants to send a message to be handled by the RfCat python code, it will address the SYSTEM app. for instance, this helps make debugging messages appear when they occur, not waiting for a user to check for them.
from rfcat.
Related Issues (20)
- TypeError when verifying firmware update HOT 2
- Setting up rfcat in Debian 10 on Beaglebone black HOT 4
- Bricked YS1, Fails verifying HOT 2
- Typing hints in bits.py causing SyntaxError HOT 3
- Insufficient USB Permissions HOT 4
- YS1 issue HOT 7
- NoneType Object has no Attribute 'auto_match' HOT 2
- Suggested Feature: Ability to send raw pulses/gaps HOT 7
- Questions regarding calculatePKTChanBW and setEnableCCA HOT 5
- Pass RSSI to setEnableCCA HOT 1
- Simple Datarate question HOT 3
- different behavior between Chronos Dongle and Yardstick One with 2FSK modulation HOT 5
- PSK HOT 4
- ESP32 and ESP 8266 HOT 55
- Why 2 .hex files? HOT 2
- YS1 Successful firmware update, no dongle found. HOT 14
- RFCat application for Flipper Zero HOT 7
- YS1 LED flashing, dmesg states ` usb usb3-port1: unable to enumerate USB device`, doggle not listed in devices HOT 12
- Error on exit: "RESETUP set from recv thread" HOT 2
- please remove usage of future/past
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rfcat.