03-01-2025, 10:56 AM
I continue working on the topic. I read Afterburner’s code for hours, and every time I read it, I noticed new details. When I carefully examined the repo, I found useful PDFs in the documents section. Thanks to Ray Jones and the entire contributor team for being a source of inspiration!
Protocol!
_TX_RX_TX_RX
The system operates on a request-response logic. There is a 30 ms low signal between each TX and RX.
If a request is sent, a response is received.
Each request starts with 4 bits of high and ends with 4 bits of low. Here’s an example of a request:
1h 30l 8h 4l 8h 4l 4h 8l 8h 4l 4h 8l 4h 8l 4h 8l 8h 4l 4h 8l 1h
1h = 1 ms high
30l = 30 ms low
This means that when sending a request, we start with a 1 ms high followed by a 30 ms low signal.
The 8 high bits are necessary for the first 4-bit high start, and the next 4-bit high represents 1.
The 4-bit low indicates the end of the data.
In other words:
8h 4l = 1
4h 8l = 0
When sending data, if we start with 8h 4l (which means 1), we trigger an event.
If you send the above packet in 1 ms intervals, you will see that the heater starts working!
Example of a received packet:
4h 8l 8h 4l 8h 4l 4h 8l 4h 8l 4h 8l 4h 8l 4h 8l 4h 8l 4h 8l 4h 8l 4h 8l 8h 4l 4h 8l 4h 8l 8h 4l
In this packet, it starts with 4h 8l, which means 0, followed by 8h 4l = 1, 8h 4l = 1.
Decoded, it looks like this:
0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 1
The fact that the 1st and 2nd bits are set to 1 indicates voltage information.
At the end, adding 2^0 and 2^3, we determine that the voltage is 9V.
I will continue analyzing the commands.
Once again, thanks to all Afterburner contributors for being an inspiration!
Before this project, I didn’t even know what an oscilloscope was—now I’ve bought one and started using it!
Knowledge grows as it is shared. Wishing everyone a great time on the forums!
Protocol!
_TX_RX_TX_RX
The system operates on a request-response logic. There is a 30 ms low signal between each TX and RX.
If a request is sent, a response is received.
Each request starts with 4 bits of high and ends with 4 bits of low. Here’s an example of a request:
1h 30l 8h 4l 8h 4l 4h 8l 8h 4l 4h 8l 4h 8l 4h 8l 8h 4l 4h 8l 1h
1h = 1 ms high
30l = 30 ms low
This means that when sending a request, we start with a 1 ms high followed by a 30 ms low signal.
The 8 high bits are necessary for the first 4-bit high start, and the next 4-bit high represents 1.
The 4-bit low indicates the end of the data.
In other words:
8h 4l = 1
4h 8l = 0
When sending data, if we start with 8h 4l (which means 1), we trigger an event.
If you send the above packet in 1 ms intervals, you will see that the heater starts working!
Example of a received packet:
4h 8l 8h 4l 8h 4l 4h 8l 4h 8l 4h 8l 4h 8l 4h 8l 4h 8l 4h 8l 4h 8l 4h 8l 8h 4l 4h 8l 4h 8l 8h 4l
In this packet, it starts with 4h 8l, which means 0, followed by 8h 4l = 1, 8h 4l = 1.
Decoded, it looks like this:
0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 1
The fact that the 1st and 2nd bits are set to 1 indicates voltage information.
At the end, adding 2^0 and 2^3, we determine that the voltage is 9V.
I will continue analyzing the commands.
Once again, thanks to all Afterburner contributors for being an inspiration!
Before this project, I didn’t even know what an oscilloscope was—now I’ve bought one and started using it!
Knowledge grows as it is shared. Wishing everyone a great time on the forums!