Comments (28)
Good luck with that :-)
The code has a lot of atmega specific code for the hardware interface.
Because of the overhead the code doesn't use the Arduino IO functions but drives the GPIO pins directly via the registers.
TX uses the SPI interface to fill the cc1101 TX fifo, but, because of the jitter on the incoming signals from the other devices, you can't use the cc1101 rx fifo to capture the data because it assumes everything is synchronous.
If you try a port then I suggest you get the SPI interface to the CC1101 working first and then the HW UART interface between the STM and the CC1101. This is just an ISR triggered by the UART that reads the UART RX data into a buffer.
If the STM hasn't got a HW UART available then you'll need to be good at coding. I suspect the STM8 HW UART has been connected to the host USB interface so this is going to be the case.
The atmega328p SW UART code uses a HW interrupt to capture the timing of the signal edges and then a SW trap to process the captured data edges to generate an RX byte. This is very processor heavy and every cycle is critical to keep up with the data when it arrives. The SW UART won't work on an atmega clocked at less than 16MHz because there aren't enough instruction cycles available.
The SW UART code is not as good at RXing radio messages as the HW UART code.
Using a simple USB logic analyser ( e.g. https://www.amazon.co.uk/Hobby-Components-24MHz-Analyser-1-1-16/dp/B00DAYAREW) there are some debug lines still in the code that you can use to drive spare GPIO pins that will show you how much processor time you're using in the HW and SW ISR functions.
The frame, message and host interface code should work without significant changes.
That's all the help I can offer since I have zero STM knowledge.
If you don't understand what I've said above give up now.
from evofw3.
from evofw3.
from evofw3.
from evofw3.
from evofw3.
from evofw3.
from evofw3.
from evofw3.
from evofw3.
from evofw3.
from evofw3.
from evofw3.
from evofw3.
from evofw3.
from evofw3.
from evofw3.
from evofw3.
from evofw3.
from evofw3.
from evofw3.
from evofw3.
from evofw3.
from evofw3.
Hi. The device I got worked perfectly. You do need a reasonably good soldering station and good eyesight, magnifier. I used to rework SMD chips for a living but my eyesight is not what it used to be, but managed to do it. Thanks for all your help. I can recommend the kit I ordered as the service was good and they sent a booklet on assembly and preloaded the firmware. I would advise anyone avoid eBay sellers claiming to cover all frequency bands. I had to explain the regulations, technicalities etc to the seller who insulted my knowledge and claimed he wasn't selling what turned out to be an ebyte 433mhz module but he was selling a CC1101. He couldn't understand that once in a circuit the circuit is what needs to be tested and approved. I also did RG approvals in a lab for a few years and he still wouldn't have it. Luckily eBay stepped in and refunded.
from evofw3.
from evofw3.
from evofw3.
from evofw3.
from evofw3.
Related Issues (20)
- can't program this onto my UNO HOT 2
- CC1101 to ATMEGA328P pinning HOT 38
- No response on specific command HOT 10
- Esp8266 or esp32 usefull HOT 7
- enhancement request: trace flag for device_id HOT 1
- No longer working after upgrading to 0.7 HOT 22
- flashing to nanocul not working HOT 11
- nano CUL not working HOT 11
- Starting tuning process on Raspberry Pi HOT 20
- No serial communication after successful board programming. nanoCUL board advice needed HOT 10
- nanoCUL not transmitting HOT 18
- Strange behavior on Remeha Elga Ace heatpump after activating Nanocul (evofw3) with Home Assistant (ramses_cc) HOT 3
- Please add License
- Header wrong in Wiki HOT 1
- Evofw3 in Domoticz HOT 7
- no messages HOT 2
- Setting controller mode or set point not working from Domoticz HOT 203
- Is there a 'buy me a beer, coffee' or 'donate to my preferred charity'?
- Please change arduino.h to Arduino.h in tty_usb.cpp HOT 1
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 evofw3.