https://sigrok.org/w/api.php?action=feedcontributions&user=Platypus&feedformat=atom
sigrok - User contributions [en]
2024-03-29T02:36:30Z
User contributions
MediaWiki 1.37.1
https://sigrok.org/w/index.php?title=Protocol_decoder:Easymatic&diff=13400
Protocol decoder:Easymatic
2018-04-11T06:12:05Z
<p>Platypus: </p>
<hr />
<div>{{Infobox protocol decoder<br />
| id = easymatic<br />
| name = EASYMATIC<br />
| description = Asynchronous, serial bus, differential<br />
| status = planned<br />
| license = GPLv2+<br />
| source_code_dir = easymatic<br />
| image = <br />
| input = uart<br />
| output = easymatic<br />
| probes = &mdash;<br />
| optional_probes = <br />
| options = <br />
}}<br />
<br />
The '''easymatic''' protocol decoder can decode the thermostat Easymatic bus protocol used by De Dietrich.<br />
<br />
== Hardware ==<br />
<br />
=== Differential link ===<br />
<br />
The easymatic is linked to the boiler with two wires. This link can feed power to the easymatic. Easymatic can have two R4 accu in order to save data if the power is cut.<br />
<br />
Boiler power is a 24V modulated with communication power.<br />
<br />
Communication is always working.<br />
<br />
[To be confirmed]<br />
<br />
The hardware is similar to [https://en.wikipedia.org/wiki/OpenTherm OpenTherm Specifications]:<br />
* differential link<br />
* about 24V<br />
* tension modulation for boiler<br />
* intensity modulation for thermostat (easymatic)?<br />
<br />
In order to capture data with a logic analyzer an interface must be created (to reduce the voltages to levels the respective logic analyzer can handle).<br />
<br />
=== Electrical coding ===<br />
<br />
[To be defined]<br />
<br />
=== Idle state ===<br />
<br />
[To be defined]<br />
<br />
== Protocol ==<br />
<br />
=== Uart based ===<br />
<br />
Whereas [https://en.wikipedia.org/wiki/OpenTherm OpenTherm] uses [https://en.wikipedia.org/wiki/Manchester_code Manchester code], the easymatic seems to be based on [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Universal Asynchronous Receiver Transmitter] (UART):<br />
<br />
* 1200 baud<br />
* 8 data bits (LSB-first)<br />
* even parity<br />
* one stop bit<br />
<br />
=== Details ===<br />
<br />
[To be discovered and detailed]<br />
<br />
Frames are repeated twice.<br />
<br />
To be defined: how an order is send<br />
<br />
All frames consist of 6 bytes.<br />
<br />
Boiler frames begin with a byte in 01, 03, 05, 07, 09, 0B, 0D.<br />
Thermostat frames begin with a "boiler beginning frame +1": 02, 04, 06, 08, 0A, 0C, 0E.<br />
<br />
''Frame description''<br />
<br />
{| border="0" style="font-size: smaller" class="alternategrey sortable sigroktable"<br />
!Frame (first byte)<br />
!Equipment<br />
!2nd byte<br />
!3rd byte<br />
!4th byte<br />
!5th byte<br />
!6th byte<br />
!Comments<br />
<br />
|-<br />
| 0A<br />
| Easymatic<br />
| ?<br />
| colspan="2" | ?<br />
| ?<br />
| ?<br />
| ?<br />
<br />
|-<br />
| 0B<br />
| Boiler<br />
| ?<br />
| ?<br />
| ?<br />
| colspan="2" | T°C outside<br />
| Example: 70.0°C = 700 = 0x02bc<br />
<br />
|-<br />
| 0C<br />
| Easymatic<br />
| 00?<br />
| colspan="2" | T°C max boiler<br />
| colspan="2" | Set point frost protection T°C outside<br />
| <br />
<br />
|-<br />
| 0D<br />
| Boiler<br />
| 00?<br />
| 00?<br />
| 00?<br />
| colspan="2" | T°C outside<br />
| <br />
<br />
|-<br />
| 0E<br />
| Easymatic<br />
| Hour<br />
| Day<br />
| Minutes<br />
| FF?<br />
| FF?<br />
| <br />
<br />
|-<br />
| 01<br />
| Boiler<br />
| 40?<br />
| colspan="2" | T°C drink water<br />
| colspan="2" | T°C boiler water<br />
| <br />
<br />
|-<br />
| 02<br />
| Easymatic<br />
| C1?<br />
| colspan="2" | Set point room T°C day<br />
| colspan="2" | Set point room T°C night<br />
| <br />
<br />
|-<br />
| 03<br />
| Boiler<br />
| 00?<br />
| ?<br />
| ?<br />
| ?<br />
| ?<br />
|<br />
<br />
|-<br />
| 04<br />
| Easymatic<br />
| 05?<br />
| colspan="2" | Set point frost protection room T°C<br />
| colspan="2" | Set point T°C drink water<br />
| <br />
<br />
|-<br />
| 05<br />
| Boiler<br />
| Boiler bits command ** ***<br />
| ?<br />
| ?<br />
| colspan="2" | outside T°C<br />
| ***confirmation received order ?<br />
<br />
|-<br />
| 06<br />
| Easymatic<br />
| Boiler bits command ** ***<br />
| ?<br />
| ?<br />
| ?<br />
| ?<br />
| ***order ?<br />
<br />
|-<br />
| 07<br />
| Boiler<br />
| Alarm ?<br />
| ?<br />
| ?<br />
| colspan="2" | outside T°C<br />
| <br />
<br />
|-<br />
| 08<br />
| Easymatic<br />
| 00?<br />
| ?<br />
| ?<br />
| ?<br />
| ?<br />
|<br />
<br />
|-<br />
| 09<br />
| Boiler<br />
| 00?<br />
| ?<br />
| ?<br />
| colspan="2" | outside T°C<br />
|<br />
<br />
|}<br />
<br />
(**) bits signification?: Boiler pump/Hydraulic valve Close//Hydraulic valve Open/Burner 1,2/Burner 1,1<br />
<br />
== Resources ==<br />
<br />
* [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Wikipedia: Universal asynchronous receiver/transmitter]<br />
* [http://www.dedietrich-heating.com/index.php/products/product_ranges/floor_standing_boilers/oil_condensing_wingo De Dietrich information]<br />
<br />
[[Category:Protocol decoder]]<br />
[[Category:UART]]</div>
Platypus
https://sigrok.org/w/index.php?title=Protocol_decoder:Easymatic&diff=13042
Protocol decoder:Easymatic
2017-12-18T14:52:08Z
<p>Platypus: exterior => outside</p>
<hr />
<div>{{Infobox protocol decoder<br />
| id = easymatic<br />
| name = EASYMATIC<br />
| description = Asynchronous, serial bus, differential<br />
| status = planned<br />
| license = GPLv2+<br />
| source_code_dir = easymatic<br />
| image = <br />
| input = uart<br />
| output = easymatic<br />
| probes = &mdash;<br />
| optional_probes = <br />
| options = <br />
}}<br />
<br />
The '''easymatic''' protocol decoder can decode the thermostat Easymatic bus protocol used by De Dietrich.<br />
<br />
== Hardware ==<br />
<br />
=== Differential link ===<br />
<br />
The easymatic is linked to the boiler with two wires. This link can feed power to the easymatic. Easymatic can have two R4 accu in order to save data if the power is cut.<br />
<br />
Boiler power is a 24V modulated with communication power.<br />
<br />
Communication is always working.<br />
<br />
[To be confirmed]<br />
<br />
The hardware is similar to [https://en.wikipedia.org/wiki/OpenTherm OpenTherm Specifications]:<br />
* differential link<br />
* about 24V<br />
* tension modulation for boiler<br />
* intensity modulation for thermostat (easymatic)?<br />
<br />
In order to capture data with a logic analyzer an interface must be created (to reduce the voltages to levels the respective logic analyzer can handle).<br />
<br />
=== Electrical coding ===<br />
<br />
[To be defined]<br />
<br />
=== Idle state ===<br />
<br />
[To be defined]<br />
<br />
== Protocol ==<br />
<br />
=== Uart based ===<br />
<br />
Whereas [https://en.wikipedia.org/wiki/OpenTherm OpenTherm] uses [https://en.wikipedia.org/wiki/Manchester_code Manchester code], the easymatic seems to be based on [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Universal Asynchronous Receiver Transmitter] (UART):<br />
<br />
* 1200 baud<br />
* 8 data bits (LSB-first)<br />
* even parity<br />
* one stop bit<br />
<br />
=== Details ===<br />
<br />
[To be discovered and detailed]<br />
<br />
Frames are repeated twice.<br />
<br />
To be defined: how an order is send<br />
<br />
All frames consist of 6 bytes.<br />
<br />
Boiler frames begin with a byte in 01, 03, 05, 07, 09, 0B, 0D.<br />
Thermostat frames begin with a "boiler beginning frame +1": 02, 04, 06, 08, 0A, 0C, 0E.<br />
<br />
''Frame description''<br />
<br />
{| border="0" style="font-size: smaller" class="alternategrey sortable sigroktable"<br />
!Frame (first byte)<br />
!Equipment<br />
!2nd byte<br />
!3rd byte<br />
!4th byte<br />
!5th byte<br />
!6th byte<br />
!Comments<br />
<br />
|-<br />
| 0A<br />
| Easymatic<br />
| ?<br />
| colspan="2" | ?<br />
| ?<br />
| ?<br />
| ?<br />
<br />
|-<br />
| 0B<br />
| Boiler<br />
| ?<br />
| ?<br />
| ?<br />
| colspan="2" | T°C outside<br />
| Example: 70.0°C = 700 = 0x02bc<br />
<br />
|-<br />
| 0C<br />
| Easymatic<br />
| 00?<br />
| colspan="2" | T°C max boiler<br />
| colspan="2" | Set point frost protection T°C outside<br />
| <br />
<br />
|-<br />
| 0D<br />
| Boiler<br />
| 00?<br />
| 00?<br />
| 00?<br />
| colspan="2" | T°C outside<br />
| <br />
<br />
|-<br />
| 0E<br />
| Easymatic<br />
| Hour<br />
| Day<br />
| Minutes<br />
| FF?<br />
| FF?<br />
| <br />
<br />
|-<br />
| 01<br />
| Boiler<br />
| 40?<br />
| colspan="2" | T°C drink water<br />
| colspan="2" | T°C boiler water<br />
| <br />
<br />
|-<br />
| 02<br />
| Easymatic<br />
| C1?<br />
| colspan="2" | Set point room T°C day<br />
| colspan="2" | Set point room T°C night<br />
| <br />
<br />
|-<br />
| 03<br />
| Boiler<br />
| 00?<br />
| ?<br />
| ?<br />
| ?<br />
| ?<br />
|<br />
<br />
|-<br />
| 04<br />
| Easymatic<br />
| 05?<br />
| colspan="2" | Set point frost protection room T°C<br />
| colspan="2" | Set point T°C drink water<br />
| <br />
<br />
|-<br />
| 05<br />
| Boiler<br />
| Boiler bits command ** ***<br />
| ?<br />
| ?<br />
| colspan="2" | outside T°C<br />
| ***confirmation received order ?<br />
<br />
|-<br />
| 06<br />
| Easymatic<br />
| Boiler bits command ** ***<br />
| ?<br />
| ?<br />
| ?<br />
| ?<br />
| ***order ?<br />
<br />
|-<br />
| 07<br />
| Boiler<br />
| ?<br />
| ?<br />
| ?<br />
| colspan="2" | outside T°C<br />
| <br />
<br />
|-<br />
| 08<br />
| Easymatic<br />
| 00?<br />
| ?<br />
| ?<br />
| ?<br />
| ?<br />
|<br />
<br />
|-<br />
| 09<br />
| Boiler<br />
| 00?<br />
| ?<br />
| ?<br />
| colspan="2" | outside T°C<br />
|<br />
<br />
|}<br />
<br />
(**) bits signification?: Boiler pump/Hydraulic valve Close//Hydraulic valve Open/Burner 1,2/Burner 1,1<br />
<br />
== Resources ==<br />
<br />
* [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Wikipedia: Universal asynchronous receiver/transmitter]<br />
* [http://www.dedietrich-heating.com/index.php/products/product_ranges/floor_standing_boilers/oil_condensing_wingo De Dietrich information]<br />
<br />
[[Category:Protocol decoder]]<br />
[[Category:UART]]</div>
Platypus
https://sigrok.org/w/index.php?title=User:Platypus&diff=12984
User:Platypus
2017-12-04T10:05:51Z
<p>Platypus: Created page with "French engineer with with knowledge in electronic and programming (not a specialist) Actual projet : decrypt a close protocol in a boiler"</p>
<hr />
<div>French engineer with with knowledge in electronic and programming (not a specialist)<br />
Actual projet : decrypt a close protocol in a boiler</div>
Platypus
https://sigrok.org/w/index.php?title=Protocol_decoder:Easymatic&diff=12978
Protocol decoder:Easymatic
2017-11-29T15:29:40Z
<p>Platypus: Not odd but even parity</p>
<hr />
<div>{{Infobox protocol decoder<br />
| id = easymatic<br />
| name = EASYMATIC<br />
| description = Asynchronous, serial bus, differential<br />
| status = planned<br />
| license = GPLv2+<br />
| source_code_dir = easymatic<br />
| image = <br />
| input = uart<br />
| output = easymatic<br />
| probes = &mdash;<br />
| optional_probes = <br />
| options = <br />
}}<br />
<br />
The '''easymatic''' protocol decoder can decode the thermostat Easymatic bus protocol used by De Dietrich.<br />
<br />
== Hardware ==<br />
<br />
=== Differential link ===<br />
<br />
The easymatic is linked to the boiler with two wires. This link can feed power to the easymatic. Easymatic can have two R4 accu in order to save data if the power is cut.<br />
<br />
Boiler power is a 24V modulated with communication power.<br />
<br />
Communication is always working.<br />
<br />
[To be confirmed]<br />
<br />
The hardware is similar to [https://en.wikipedia.org/wiki/OpenTherm OpenTherm Specifications]:<br />
* differential link<br />
* about 24V<br />
* tension modulation for boiler<br />
* intensity modulation for thermostat (easymatic)?<br />
<br />
In order to capture data with a logic analyzer an interface must be created (to reduce the voltages to levels the respective logic analyzer can handle).<br />
<br />
=== Electrical coding ===<br />
<br />
[To be defined]<br />
<br />
=== Idle state ===<br />
<br />
[To be defined]<br />
<br />
== Protocol ==<br />
<br />
=== Uart based ===<br />
<br />
Whereas [https://en.wikipedia.org/wiki/OpenTherm OpenTherm] uses [https://en.wikipedia.org/wiki/Manchester_code Manchester code], the easymatic seems to be based on [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Universal Asynchronous Receiver Transmitter] (UART):<br />
<br />
* 1200 baud<br />
* 8 data bits (LSB-first)<br />
* even parity<br />
* one stop bit<br />
<br />
=== Details ===<br />
<br />
[To be discovered and detailed]<br />
<br />
Frames are repeated twice.<br />
<br />
To be defined: how an order is send<br />
<br />
All frames consist of 6 bytes.<br />
<br />
Boiler frames begin with a byte in 01, 03, 05, 07, 09, 0B, 0D.<br />
Thermostat frames begin with a "boiler beginning frame +1": 02, 04, 06, 08, 0A, 0C, 0E.<br />
<br />
''Frame description''<br />
<br />
{| border="0" style="font-size: smaller" class="alternategrey sortable sigroktable"<br />
!Frame (first byte)<br />
!Equipment<br />
!2nd byte<br />
!3rd byte<br />
!4th byte<br />
!5th byte<br />
!6th byte<br />
!Comments<br />
<br />
|-<br />
| 0A<br />
| Easymatic<br />
| ?<br />
| colspan="2" | ?<br />
| ?<br />
| ?<br />
| ?<br />
<br />
|-<br />
| 0B<br />
| Boiler<br />
| ?<br />
| ?<br />
| ?<br />
| colspan="2" | T°C exterior<br />
| Example: 70.0°C = 700 = 0x02bc<br />
<br />
|-<br />
| 0C<br />
| Easymatic<br />
| 00?<br />
| colspan="2" | T°C max boiler<br />
| colspan="2" | Set point frost protection T°C exterior<br />
| <br />
<br />
|-<br />
| 0D<br />
| Boiler<br />
| 00?<br />
| 00?<br />
| 00?<br />
| colspan="2" | T°C exterior<br />
| <br />
<br />
|-<br />
| 0E<br />
| Easymatic<br />
| Hour<br />
| Day<br />
| Minutes<br />
| FF?<br />
| FF?<br />
| <br />
<br />
|-<br />
| 01<br />
| Boiler<br />
| 40?<br />
| colspan="2" | T°C drink water<br />
| colspan="2" | T°C boiler water<br />
| <br />
<br />
|-<br />
| 02<br />
| Easymatic<br />
| C1?<br />
| colspan="2" | Set point room T°C day<br />
| colspan="2" | Set point room T°C night<br />
| <br />
<br />
|-<br />
| 03<br />
| Boiler<br />
| 00?<br />
| ?<br />
| ?<br />
| ?<br />
| ?<br />
|<br />
<br />
|-<br />
| 04<br />
| Easymatic<br />
| 05?<br />
| colspan="2" | Set point frost protection room T°C<br />
| colspan="2" | Set point T°C drink water<br />
| <br />
<br />
|-<br />
| 05<br />
| Boiler<br />
| Boiler bits command ** ***<br />
| ?<br />
| ?<br />
| colspan="2" | exterior T°C<br />
| ***confirmation received order ?<br />
<br />
|-<br />
| 06<br />
| Easymatic<br />
| Boiler bits command ** ***<br />
| ?<br />
| ?<br />
| ?<br />
| ?<br />
| ***order ?<br />
<br />
|-<br />
| 07<br />
| Boiler<br />
| ?<br />
| ?<br />
| ?<br />
| colspan="2" | exterior T°C<br />
| <br />
<br />
|-<br />
| 08<br />
| Easymatic<br />
| 00?<br />
| ?<br />
| ?<br />
| ?<br />
| ?<br />
|<br />
<br />
|-<br />
| 09<br />
| Boiler<br />
| 00?<br />
| ?<br />
| ?<br />
| colspan="2" | exterior T°C<br />
|<br />
<br />
|}<br />
<br />
(**) bits signification?: Boiler pump/Hydraulic valve Close//Hydraulic valve Open/Burner 1,2/Burner 1,1<br />
<br />
== Resources ==<br />
<br />
* [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Wikipedia: Universal asynchronous receiver/transmitter]<br />
* [http://www.dedietrich-heating.com/index.php/products/product_ranges/floor_standing_boilers/oil_condensing_wingo De Dietrich information]<br />
<br />
[[Category:Protocol decoder]]<br />
[[Category:UART]]</div>
Platypus
https://sigrok.org/w/index.php?title=Protocol_decoder:Easymatic&diff=12977
Protocol decoder:Easymatic
2017-11-28T14:28:20Z
<p>Platypus: Add Odd parity identified thanks to sigrok on a dump</p>
<hr />
<div>{{Infobox protocol decoder<br />
| id = easymatic<br />
| name = EASYMATIC<br />
| description = Asynchronous, serial bus, differential<br />
| status = planned<br />
| license = GPLv2+<br />
| source_code_dir = easymatic<br />
| image = <br />
| input = uart<br />
| output = easymatic<br />
| probes = &mdash;<br />
| optional_probes = <br />
| options = <br />
}}<br />
<br />
The '''easymatic''' protocol decoder can decode the thermostat Easymatic bus protocol used by De Dietrich.<br />
<br />
== Hardware ==<br />
<br />
=== Differential link ===<br />
<br />
The easymatic is linked to the boiler with two wires. This link can feed power to the easymatic. Easymatic can have two R4 accu in order to save data if the power is cut.<br />
<br />
Boiler power is a 24V modulated with communication power.<br />
<br />
Communication is always working.<br />
<br />
[To be confirmed]<br />
<br />
The hardware is similar to [https://en.wikipedia.org/wiki/OpenTherm OpenTherm Specifications]:<br />
* differential link<br />
* about 24V<br />
* tension modulation for boiler<br />
* intensity modulation for thermostat (easymatic)?<br />
<br />
In order to capture data with a logic analyzer an interface must be created (to reduce the voltages to levels the respective logic analyzer can handle).<br />
<br />
=== Electrical coding ===<br />
<br />
[To be defined]<br />
<br />
=== Idle state ===<br />
<br />
[To be defined]<br />
<br />
== Protocol ==<br />
<br />
=== Uart based ===<br />
<br />
Whereas [https://en.wikipedia.org/wiki/OpenTherm OpenTherm] uses [https://en.wikipedia.org/wiki/Manchester_code Manchester code], the easymatic seems to be based on [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Universal Asynchronous Receiver Transmitter] (UART):<br />
<br />
* 1200 baud<br />
* 8 data bits (LSB-first)<br />
* odd parity<br />
* one stop bit<br />
<br />
=== Details ===<br />
<br />
[To be discovered and detailed]<br />
<br />
Frames are repeated twice.<br />
<br />
To be defined: how an order is send<br />
<br />
All frames consist of 6 bytes.<br />
<br />
Boiler frames begin with a byte in 01, 03, 05, 07, 09, 0B, 0D.<br />
Thermostat frames begin with a "boiler beginning frame +1": 02, 04, 06, 08, 0A, 0C, 0E.<br />
<br />
''Frame description''<br />
<br />
{| border="0" style="font-size: smaller" class="alternategrey sortable sigroktable"<br />
!Frame (first byte)<br />
!Equipment<br />
!2nd byte<br />
!3rd byte<br />
!4th byte<br />
!5th byte<br />
!6th byte<br />
!Comments<br />
<br />
|-<br />
| 0A<br />
| Easymatic<br />
| ?<br />
| colspan="2" | ?<br />
| ?<br />
| ?<br />
| ?<br />
<br />
|-<br />
| 0B<br />
| Boiler<br />
| ?<br />
| ?<br />
| ?<br />
| colspan="2" | T°C exterior<br />
| Example: 70.0°C = 700 = 0x02bc<br />
<br />
|-<br />
| 0C<br />
| Easymatic<br />
| 00?<br />
| colspan="2" | T°C max boiler<br />
| colspan="2" | Set point frost protection T°C exterior<br />
| <br />
<br />
|-<br />
| 0D<br />
| Boiler<br />
| 00?<br />
| 00?<br />
| 00?<br />
| colspan="2" | T°C exterior<br />
| <br />
<br />
|-<br />
| 0E<br />
| Easymatic<br />
| Hour<br />
| Day<br />
| Minutes<br />
| FF?<br />
| FF?<br />
| <br />
<br />
|-<br />
| 01<br />
| Boiler<br />
| 40?<br />
| colspan="2" | T°C drink water<br />
| colspan="2" | T°C boiler water<br />
| <br />
<br />
|-<br />
| 02<br />
| Easymatic<br />
| C1?<br />
| colspan="2" | Set point room T°C day<br />
| colspan="2" | Set point room T°C night<br />
| <br />
<br />
|-<br />
| 03<br />
| Boiler<br />
| 00?<br />
| ?<br />
| ?<br />
| ?<br />
| ?<br />
|<br />
<br />
|-<br />
| 04<br />
| Easymatic<br />
| 05?<br />
| colspan="2" | Set point frost protection room T°C<br />
| colspan="2" | Set point T°C drink water<br />
| <br />
<br />
|-<br />
| 05<br />
| Boiler<br />
| Boiler bits command ** ***<br />
| ?<br />
| ?<br />
| colspan="2" | exterior T°C<br />
| ***confirmation received order ?<br />
<br />
|-<br />
| 06<br />
| Easymatic<br />
| Boiler bits command ** ***<br />
| ?<br />
| ?<br />
| ?<br />
| ?<br />
| ***order ?<br />
<br />
|-<br />
| 07<br />
| Boiler<br />
| ?<br />
| ?<br />
| ?<br />
| colspan="2" | exterior T°C<br />
| <br />
<br />
|-<br />
| 08<br />
| Easymatic<br />
| 00?<br />
| ?<br />
| ?<br />
| ?<br />
| ?<br />
|<br />
<br />
|-<br />
| 09<br />
| Boiler<br />
| 00?<br />
| ?<br />
| ?<br />
| colspan="2" | exterior T°C<br />
|<br />
<br />
|}<br />
<br />
(**) bits signification?: Boiler pump/Hydraulic valve Close//Hydraulic valve Open/Burner 1,2/Burner 1,1<br />
<br />
== Resources ==<br />
<br />
* [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Wikipedia: Universal asynchronous receiver/transmitter]<br />
* [http://www.dedietrich-heating.com/index.php/products/product_ranges/floor_standing_boilers/oil_condensing_wingo De Dietrich information]<br />
<br />
[[Category:Protocol decoder]]<br />
[[Category:UART]]</div>
Platypus
https://sigrok.org/w/index.php?title=Protocol_decoder:Easymatic&diff=12969
Protocol decoder:Easymatic
2017-11-26T06:49:30Z
<p>Platypus: Thanks for reviewing</p>
<hr />
<div>{{Infobox protocol decoder<br />
| id = easymatic<br />
| name = EASYMATIC<br />
| description = Asynchronous, serial bus, differential<br />
| status = planned<br />
| license = GPLv2+<br />
| source_code_dir = easymatic<br />
| image = <br />
| input = uart<br />
| output = easymatic<br />
| probes = &mdash;<br />
| optional_probes = <br />
| options = <br />
}}<br />
<br />
The '''easymatic''' protocol decoder can decode the thermostat Easymatic bus protocol used by De Dietrich.<br />
<br />
== Hardware ==<br />
<br />
=== Differential link ===<br />
<br />
The easymatic is linked to the boiler with two wires. This link can feed power to the easymatic. Easymatic can have two R4 accu in order to save data if the power is cut.<br />
<br />
Boiler power is a 24V modulated with communication power.<br />
<br />
Communication is always working.<br />
<br />
[To be confirmed]<br />
<br />
The hardware is similar to [https://en.wikipedia.org/wiki/OpenTherm OpenTherm Specifications]:<br />
* differential link<br />
* about 24V<br />
* tension modulation for boiler<br />
* intensity modulation for thermostat (easymatic)?<br />
<br />
In order to capture data with a logic analyzer an interface must be created (to reduce the voltages to levels the respective logic analyzer can handle).<br />
<br />
=== Electrical coding ===<br />
<br />
[To be defined]<br />
<br />
=== Idle state ===<br />
<br />
[To be defined]<br />
<br />
== Protocol ==<br />
<br />
=== Uart based ===<br />
<br />
Whereas [https://en.wikipedia.org/wiki/OpenTherm OpenTherm] uses [https://en.wikipedia.org/wiki/Manchester_code Manchester code], the easymatic seems to be based on [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Universal Asynchronous Receiver Transmitter] (UART):<br />
<br />
* 1200 baud<br />
* 8 data bits (LSB-first)<br />
* no parity<br />
* one stop bit<br />
<br />
=== Details ===<br />
<br />
[To be discovered and detailed]<br />
<br />
Frames are repeated twice.<br />
<br />
To be defined: how an order is send<br />
<br />
All frames consist of 6 bytes.<br />
<br />
Boiler frames begin with a byte in 01, 03, 05, 07, 09, 0B, 0D.<br />
Thermostat frames begin with a "boiler beginning frame +1": 02, 04, 06, 08, 0A, 0C, 0E.<br />
<br />
''Frame description''<br />
<br />
{| border="0" style="font-size: smaller" class="alternategrey sortable sigroktable"<br />
!Frame (first byte)<br />
!Equipment<br />
!2nd byte<br />
!3rd byte<br />
!4th byte<br />
!5th byte<br />
!6th byte<br />
!Comments<br />
<br />
|-<br />
| 0A<br />
| Easymatic<br />
| ?<br />
| colspan="2" | ?<br />
| ?<br />
| ?<br />
| ?<br />
<br />
|-<br />
| 0B<br />
| Boiler<br />
| ?<br />
| ?<br />
| ?<br />
| colspan="2" | T°C exterior<br />
| Example: 70.0°C = 700 = 0x02bc<br />
<br />
|-<br />
| 0C<br />
| Easymatic<br />
| 00?<br />
| colspan="2" | T°C max boiler<br />
| colspan="2" | Set point frost protection T°C exterior<br />
| <br />
<br />
|-<br />
| 0D<br />
| Boiler<br />
| 00?<br />
| 00?<br />
| 00?<br />
| colspan="2" | T°C exterior<br />
| <br />
<br />
|-<br />
| 0E<br />
| Easymatic<br />
| Hour<br />
| Day<br />
| Minutes<br />
| FF?<br />
| FF?<br />
| <br />
<br />
|-<br />
| 01<br />
| Boiler<br />
| 40?<br />
| colspan="2" | T°C drink water<br />
| colspan="2" | T°C boiler water<br />
| <br />
<br />
|-<br />
| 02<br />
| Easymatic<br />
| C1?<br />
| colspan="2" | Set point room T°C day<br />
| colspan="2" | Set point room T°C night<br />
| <br />
<br />
|-<br />
| 03<br />
| Boiler<br />
| 00?<br />
| ?<br />
| ?<br />
| ?<br />
| ?<br />
|<br />
<br />
|-<br />
| 04<br />
| Easymatic<br />
| 05?<br />
| colspan="2" | Set point frost protection room T°C<br />
| colspan="2" | Set point T°C drink water<br />
| <br />
<br />
|-<br />
| 05<br />
| Boiler<br />
| Boiler bits command ** ***<br />
| ?<br />
| ?<br />
| colspan="2" | exterior T°C<br />
| ***confirmation received order ?<br />
<br />
|-<br />
| 06<br />
| Easymatic<br />
| Boiler bits command ** ***<br />
| ?<br />
| ?<br />
| ?<br />
| ?<br />
| ***order ?<br />
<br />
|-<br />
| 07<br />
| Boiler<br />
| ?<br />
| ?<br />
| ?<br />
| colspan="2" | exterior T°C<br />
| <br />
<br />
|-<br />
| 08<br />
| Easymatic<br />
| 00?<br />
| ?<br />
| ?<br />
| ?<br />
| ?<br />
|<br />
<br />
|-<br />
| 09<br />
| Boiler<br />
| 00?<br />
| ?<br />
| ?<br />
| colspan="2" | exterior T°C<br />
|<br />
<br />
|}<br />
<br />
(**) bits signification?: Boiler pump/Hydraulic valve Close//Hydraulic valve Open/Burner 1,2/Burner 1,1<br />
<br />
== Resources ==<br />
<br />
* [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Wikipedia: Universal asynchronous receiver/transmitter]<br />
* [http://www.dedietrich-heating.com/index.php/products/product_ranges/floor_standing_boilers/oil_condensing_wingo De Dietrich information]<br />
<br />
[[Category:Protocol decoder]]<br />
[[Category:UART]]</div>
Platypus
https://sigrok.org/w/index.php?title=Protocol_decoders&diff=12956
Protocol decoders
2017-11-21T14:19:33Z
<p>Platypus: /* Possible candidates for future protocol decoders */</p>
<hr />
<div>This is a list of '''supported protocol decoders (PDs)''' and '''decoders which we might want to write in the future''' (or users might want to contribute).<br />
<br />
See [[Protocol decoder API]] for details on how the decoders work in sigrok, and [[Protocol decoder HOWTO]] for a quick introduction about how to write your own decoders.<br />
<br />
== Supported protocol decoders ==<br />
<br />
Number of currently supported protocol decoders: '''78'''.<br />
<br />
{| border="0" style="font-size: smaller" class="alternategrey sortable sigroktable"<br />
|-<br />
!Protocol<br />
!Category<br />
!Input IDs<br />
!Output IDs<br />
!Status<br />
!Full name<br />
!Description<br />
<br />
{{pd|ade77xx|ADE77xx|Analog Devices ADE77xx|Poly phase multifunction energy metering IC protocol.|Sensors|spi|ade77xx|supported}}<br />
{{pd|adf435x|ADF435x|Analog Devices ADF4350/1|Wideband synthesizer with integrated VCO.|RF|spi|adf435x|supported}}<br />
{{pd|adns5020|ADNS-5020|Avago ADNS-5020 optical mouse sensor|Bidirectional command and data over an SPI-like protocol.|Sensors|spi|adns5020|supported}}<br />
{{pd|am230x|AM230x/DHTxx/RHTxx|Aosong AM230x/DHTxx|Aosong AM230x/DHTxx/RHTxx humidity/temperature sensor protocol.|Sensors|&mdash;|am230x|supported}}<br />
{{pd|arm_etmv3|ARM ETMv3|ARM Embedded Trace Macroblock|Decode ETM instruction trace packets.|Flash/debug|uart|arm_etmv3|supported}}<br />
{{pd|arm_itm|ARM ITM|ARM Instrumentation Trace Macroblock|Trace data from Cortex-M / ARMv7m ITM module.|Flash/debug|uart|arm_itm|supported}}<br />
{{pd|arm_tpiu|ARM TPIU|ARM Trace Port Interface Unit|Filter TPIU formatted trace data into separate streams.|Flash/debug|uart|uart|supported}}<br />
{{pd|aud|AUD|Advanced User Debugger|Renesas/Hitachi Advanced User Debugger (AUD) protocol.|Flash/debug|&mdash;|aud|supported}}<br />
{{pd|avr_isp|AVR ISP|AVR in-system programming|Protocol for in-system programming Atmel AVR MCUs.|Flash/debug|spi|avr_isp|supported}}<br />
{{pd|avr_pdi|AVR PDI|Atmel Program and Debug Interface|Atmel proprietary interface for the ATxmega MCU.|Flash/debug|logic|avr_pdi|supported}}<br />
{{pd|can|CAN|Controller Area Network|Field bus protocol for distributed realtime control.|Automotive|&mdash;|can|supported}}<br />
{{pd|dali|DALI|Digital Addressable Lighting Interface|DALI lighting control protocol.|Lighting|&mdash;|dali|supported}}<br />
{{pd|dcf77|DCF77|DCF77 time protocol|European longwave time signal (77.5kHz carrier signal).|Time signal|&mdash;|dcf77|supported}}<br />
{{pd|dmx512|DMX512|Digital MultipleX 512|Professional lighting control protocol.|Lighting|&mdash;|dmx512|supported}}<br />
{{pd|ds1307|DS1307|Dallas DS1307|Realtime clock module protocol.|RTC|i2c|ds1307|supported}}<br />
{{pd|ds243x|DS243x|Maxim DS2432/DS2433|Maxim DS243x series 1-Wire EEPROM protocol.|Memory|onewire_network|ds243x|supported}}<br />
{{pd|dsi|DSI|Digital Serial Interface|DSI lighting control protocol.|Lighting|&mdash;|dsi|supported}}<br />
{{pd|edid|EDID|Extended Display Identification Data|Data structure describing display device capabilities.|PC|i2c|edid|supported}}<br />
{{pd|eeprom24xx|24xx EEPROM|24xx I²C EEPROM|24xx series I²C EEPROM protocol.|Memory|i2c|eeprom24xx|supported}}<br />
{{pd|eeprom93cxx|93Cxx EEPROM|93Cxx Microwire EEPROM|93Cxx series Microwire EEPROM protocol.|Memory|microwire|eeprom93cxx|supported}}<br />
{{pd|em4100|EM4100|RFID EM4100|EM4100 100-150kHz RFID protocol.|RFID|&mdash;|em4100|supported}}<br />
{{pd|em4305|EM4305|RFID EM4205/EM4305|EM4205/EM4305 100-150kHz RFID protocol.|RFID|&mdash;|em4305|supported}}<br />
{{pd|gpib|GPIB|General Purpose Interface Bus|IEEE-488 GPIB / HPIB protocol.|Other|&mdash;|gpib|supported}}<br />
{{pd|guess_bitrate|Guess bitrate|Guess bitrate/baudrate|Guess the bitrate/baudrate of a UART (or other) protocol.|Other|&mdash;|guess_bitrate|supported}}<br />
{{pd|i2c|I2C|Inter-Integrated Circuit|Two-wire, multi-master, serial bus.|Embedded|&mdash;|i2c|supported}}<br />
{{pd|i2cdemux|I2C demux|I2C demultiplexer|Demux I2C packets into per-slave-address streams.|Embedded|i2c|''runtime decision''|supported}}<br />
{{pd|i2cfilter|I2C filter|I2C filter|Filter out addresses/directions in an I2C stream.|Embedded|i2c|i2c|supported}}<br />
{{pd|i2s|I2S|Integrated Interchip Sound|Serial bus for connecting digital audio devices.|Audio|&mdash;|i2s|supported}}<br />
{{pd|iec|IEC|Commodore bus|Commodore serial IEEE-488 (IEC) bus protocol.|Other|&mdash;|gpib|supported}}<br />
{{pd|ir_nec|IR NEC|IR NEC|NEC infrared remote control protocol.|IR|&mdash;|ir_nec|supported}}<br />
{{pd|ir_rc5|IR RC-5|IR RC-5|RC-5 infrared remote control protocol.|IR|&mdash;|ir_rc5|supported}}<br />
{{pd|jitter|Jitter|Timing jitter calculation|Retrieves the timing jitter between two digital signals.|Misc|&mdash;|jitter|supported}}<br />
{{pd|jtag|JTAG|Joint Test Action Group (IEEE 1149.1)|Protocol for testing, debugging, and flashing ICs.|Flash/debug|&mdash;|jtag|supported}}<br />
{{pd|jtag_stm32|JTAG / STM32|Joint Test Action Group / ST STM32|ST STM32-specific JTAG protocol.|Flash/debug|jtag|jtag_stm32|supported}}<br />
{{pd|lm75|LM75|National LM75|National LM75 (and compatibles) temperature sensor protocol.|Sensors|i2c|lm75|supported}}<br />
{{pd|lpc|LPC|Low-Pin-Count|Protocol for low-bandwidth devices on PC mainboards.|PC|&mdash;|lpc|supported}}<br />
{{pd|max7219|MAX7219|Maxim MAX7219/MAX7221|8-digit LED display driver.|Display|spi|max7219|supported}}<br />
{{pd|maxim_ds28ea00|DS28EA00|Maxim DS28EA00 1-Wire digital thermometer|1-Wire digital thermometer with Sequence Detect and PIO.|Sensors|onewire_network|maxim_ds28ea00|supported}}<br />
{{pd|mdio|MDIO|Management Data Input/Output|Half-duplex sync serial bus for MII management between MAC and PHY.|Networking|&mdash;|mdio|supported}}<br />
{{pd|microwire|Microwire|Microwire|3-wire, half-duplex, synchronous serial bus.|Embedded|&mdash;|microwire|supported}}<br />
{{pd|midi|MIDI|Musical Instrument Digital Interface|Musical Instrument Digital Interface (MIDI) protocol.|Music|uart|midi|supported}}<br />
{{pd|mlx90614|MLX90614|Melexis MLX90614|Infrared Thermometer protocol.|Sensors|i2c|mlx90614|supported}}<br />
{{pd|modbus|Modbus|Modbus RTU over RS232/RS485|Modbus RTU protocol for industrial applications.|Misc|uart|modbus|supported}}<br />
{{pd|mrf24j40|MRF24J40|Microchip MRF24J40|IEEE 802.15.4 2.4 GHz RF tranceiver chip.|RF|spi|mf24j40|supported}}<br />
{{pd|mxc6225xu|MXC6225XU|MEMSIC MXC6225XU|Digital Thermal Orientation Sensor (DTOS) protocol.|Sensors|i2c|mxc6225xu|supported}}<br />
{{pd|nrf24l01|nRF24L01(+)|Nordic Semiconductor nRF24L01/nRF24L01+|2.4GHz transceiver chip.|Wireless|spi|nrf24l01|supported}}<br />
{{pd|nunchuk|Nunchuk|Nintendo Wii Nunchuk|Nintendo Wii Nunchuk controller protocol.|Other|i2c|nunchuk|supported}}<br />
{{pd|onewire_link|1-Wire link layer|1-Wire serial communication bus (link layer)|Bidirectional, half-duplex, asynchronous serial bus.|Embedded|&mdash;|onewire_link|supported}}<br />
{{pd|onewire_network|1-Wire network layer|1-Wire serial communication bus (network layer)|Bidirectional, half-duplex, asynchronous serial bus.|Embedded|onewire_link|onewire_network|supported}}<br />
{{pd|pan1321|PAN1321|Panasonic PAN1321|Bluetooth RF module with Serial Port Profile (SPP).|Bluetooth|uart|pan1321|supported}}<br />
{{pd|parallel|Parallel|Parallel sync bus|Generic parallel synchronous bus.|Misc|&mdash;|parallel|supported}}<br />
{{pd|ps2|PS/2|PS/2|PS/2 keyboard/mouse interface.|PC|&mdash;|ps2|supported}}<br />
{{pd|pwm|PWM|Pulse-width modulation|Analog level encoded in duty cycle percentage.|Misc|&mdash;|pwm|supported}}<br />
{{pd|qi|Qi|Qi charger protocol|Async serial protocol for Qi charger receivers.|Misc|&mdash;|qi|supported}}<br />
{{pd|rfm12|RFM12|RFM12 control protocol|HopeRF RFM12 wireless transceivers control protocol.|Wireless|spi|rfm12|supported}}<br />
{{pd|rgb_led_spi|RGB LED (SPI)|RGB LED string decoder (SPI)|RGB LED string protocol (RGB values clocked over SPI).|LED|spi|rgb_led_spi|supported}}<br />
{{pd|rgb_led_ws281x|RGB LED (WS281x)|RGB LED string decoder (WS281x)|RGB LED string protocol (WS281x).|LED|&mdash;|rgb_led_ws281x|supported}}<br />
{{pd|rtc8564|RTC-8564|Epson RTC-8564 JE/NB|Realtime clock module protocol.|RTC|i2c|rtc8564|supported}}<br />
{{pd|sdcard_sd|SD card (SD mode)|Secure Digital card (SD mode)|Secure Digital card (SD mode) low-level protocol.|Memory|&mdash;|sdcard_sd|supported}}<br />
{{pd|sdcard_spi|SD card (SPI mode)|Secure Digital card (SPI mode)|Secure Digital card (SPI mode) low-level protocol.|Memory|spi|sdcard_spi|supported}}<br />
{{pd|spdif|S/PDIF|Sony/Philips Digital Interface Format|Serial bus for connecting digital audio devices.|Audio|&mdash;|spdif|supported}}<br />
{{pd|spi|SPI|Serial Peripheral Interface|Full-duplex, synchronous, serial bus.|Embedded|&mdash;|spi|supported}}<br />
{{pd|spiflash|SPI flash|SPI flash chips|xx25 series SPI (NOR) flash chip protocol.|SPI flash|spi|spiflash|supported}}<br />
{{pd|ssi32|SSI32|Synchronous Serial Interface (32bit)|Synchronous Serial Interface (32bit) protocol.|Misc|spi|ssi32|supported}}<br />
{{pd|stepper_motor|Stepper motor|Stepper motor position / speed|Absolute position and movement speed from step/dir.|Motors|&mdash;|stepper_motor|supported}}<br />
{{pd|swd|SWD|Serial Wire Debug|Two-wire protocol for debug access to ARM CPUs.|Flash/debug|&mdash;|swd|supported}}<br />
{{pd|t55xx|T55xx|RFID T5xx|T55xx 100-150kHz RFID protocol.|RFID|&mdash;|t55xx|supported}}<br />
{{pd|tca6408a|TI TCA6408A|Texas Instruments TCA6408A|Texas Instruments TCA6408A 8-bit I²C I/O expander.|I/O expander|i2c|tca6408a|supported}}<br />
{{pd|timing|Timing|Timing calculation|Calculate time between edges.|Misc|&mdash;|timing|supported}}<br />
{{pd|tlc5620|TI TLC5620|Texas Instruments TLC5620|Texas Instruments TLC5620 8-bit quad DAC.|DAC|&mdash;|tlc5620|supported}}<br />
{{pd|uart|UART|Universal Asynchronous Receiver/Transmitter|Asynchronous, serial bus.|Embedded|&mdash;|uart|supported}}<br />
{{pd|usb_packet|USB packet|Universal Serial Bus (LS/FS) packet|USB (low-speed and full-speed) packet protocol.|USB|usb_signalling|usb_packet|supported}}<br />
{{pd|usb_power_delivery|USB PD|USB Power Delivery|USB Power Delivery protocol.|USB|&mdash;|usb_pd|supported}}<br />
{{pd|usb_request|USB request|Universal Serial Bus (LS/FS) transaction/request|USB (low-speed and full-speed) transaction/request protocol.|USB|usb_packet|usb_request|supported}}<br />
{{pd|usb_signalling|USB signalling|Universal Serial Bus (LS/FS) signalling|USB (low-speed and full-speed) signalling protocol.|USB|&mdash;|usb_signalling|supported}}<br />
{{pd|wiegand|Wiegand|Wiegand interface|Wiegand interface for electronic entry systems.|RFID|&mdash;|wiegand|supported}}<br />
{{pd|xfp|XFP|10 Gigabit Small Form Factor Pluggable Module (XFP)|Data structure describing device capabilities.|Networking|i2c|xfp|supported}}<br />
{{pd|z80|Z80|Zilog Z80 CPU|Zilog Z80 microprocessor disassembly.|CPU|&mdash;|z80|supported}}<br />
<br />
|}<br />
<br />
== Possible candidates for future protocol decoders ==<br />
<br />
{| border="0" style="font-size: smaller" class="alternategrey sortable sigroktable"<br />
|-<br />
!Protocol<br />
!Category<br />
!Input ID(s)<br />
!Output ID(s)<br />
!Status<br />
!Description<br />
!Comments<br />
<br />
|-<br />
| SA8807A<br />
| Displays<br />
| spi<br />
|<br />
| bgcolor="red" | 0%<br />
| SPI-attached LCD. Datasheet: [http://pdf1.alldatasheet.com/datasheet-pdf/view/36922/SAMES/SA8807A.html Sames SA8807A].<br />
|<br />
<br />
|-<br />
| EA eDIPTFT43-A<br />
| Displays<br />
| i2c<br />
|<br />
| bgcolor="red" | 0%<br />
| I2C-attached LCD. Datasheet: [http://www.lcd-module.de/pdf/grafik/ediptft43-a.pdf EA eDIPTFT43-A].<br />
|<br />
<br />
|-<br />
| Analog Devices AD7291<br />
| ADC<br />
| i2c<br />
|<br />
| bgcolor="red" | 0%<br />
| I2C-attached ADC. Datasheet: [http://pdf1.alldatasheet.com/datasheet-pdf/view/318172/AD/AD7291.html Analog Devices AD7291].<br />
|<br />
<br />
|-<br />
| Analog Devices ADS1258<br />
| ADC<br />
| spi<br />
| ads1258<br />
| bgcolor="orange" | 0%<br />
| SPI-attached ADC.<br />
| Planned (Uwe Hermann).<br />
<br />
|-<br />
| Microchip MCP3901<br />
| ADC<br />
| spi<br />
| mcp3901<br />
| bgcolor="orange" | 0%<br />
| Can be controlled via a parallel protocol, or SPI, or I2C.<br />
| Planned (Uwe Hermann).<br />
<br />
|-<br />
| JTAG / TMPA9xx<br />
| Flash/debug<br />
| jtag<br />
| jtag_tmpa9xx<br />
| bgcolor="red" | 0%<br />
| Toshiba TMPA9xx specific JTAG protocol details.<br />
| <br />
<br />
|-<br />
| USB transfer<br />
| USB<br />
| usb_request<br />
| usb_transfer<br />
| bgcolor="red" | 0%<br />
| <br />
| <br />
<br />
|-<br />
| USB / HID<br />
| USB<br />
| usb_transfer<br />
| usb_hid<br />
| bgcolor="red" | 0%<br />
| <br />
| <br />
<br />
|-<br />
| USB / CDC<br />
| USB<br />
| usb_transfer<br />
| usb_cdc<br />
| bgcolor="red" | 0%<br />
| <br />
| <br />
<br />
|-<br />
| USB / USBTMC<br />
| USB<br />
| usb_transfer<br />
| usb_usbtmc<br />
| bgcolor="red" | 0%<br />
| <br />
| <br />
<br />
|-<br />
| Dallas DS1985<br />
| Other<br />
| onewire_network<br />
| <br />
| bgcolor="orange" | 0%<br />
| Dallas DS1985 iButton (1-Wire) device.<br />
| Planned (Uwe Hermann).<br />
<br />
|-<br />
| UNI/O<br />
| Embedded<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/Synchronous_Serial_Interface SSI]<br />
| Embedded<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
| Synchronous Serial Interface<br />
|<br />
<br />
|-<br />
| CompactFlash<br />
| Memory<br />
| &mdash;<br />
| <br />
| bgcolor="red" | 0%<br />
| <br />
| <br />
<br />
|-<br />
| MMC<br />
| Memory<br />
| &mdash;<br />
| <br />
| bgcolor="red" | 0%<br />
| <br />
| <br />
<br />
|-<br />
| Memory Stick<br />
| Memory<br />
| &mdash;<br />
| <br />
| bgcolor="red" | 0%<br />
| <br />
| <br />
<br />
|-<br />
| SmartMedia<br />
| Memory<br />
| &mdash;<br />
| <br />
| bgcolor="red" | 0%<br />
| <br />
| <br />
<br />
|-<br />
| xD-Picture Card<br />
| Memory<br />
| &mdash;<br />
| <br />
| bgcolor="red" | 0%<br />
| <br />
| <br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/ISO/IEC_7816 ISO 7816]<br />
| Smartcards<br />
| &mdash;<br />
| <br />
| bgcolor="red" | 0%<br />
| <br />
| <br />
<br />
|-<br />
| FlexRay<br />
| Automotive<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
| [http://en.wikipedia.org/wiki/Flexray FlexRay] is an automotive network communications protocol.<br />
|<br />
<br />
|-<br />
| LIN<br />
| Automotive<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
| [http://en.wikipedia.org/wiki/Local_Interconnect_Network LIN] (Local Interconnect Network) is an automotive bus standard.<br />
|<br />
<br />
|-<br />
| AVR TPI<br />
| Flash/debug<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
| Atmel Tiny Programming Interface (TPI) protocol.<br />
|<br />
<br />
|-<br />
| FWH<br />
| PC<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| ISA<br />
| PC<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| PCI<br />
| PC<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| SMBus<br />
| PC<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| IDE<br />
| PC<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| SCSI<br />
| PC<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/Platform_Environment_Control_Interface PECI]<br />
| PC<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
| Platform Environment Control Interface<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/SVID SVID]<br />
| PC<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
| Serial Voltage Identification<br />
|<br />
<br />
|-<br />
| [[Protocol_decoder:mfm|MFM]]<br />
| PC<br />
| &mdash;<br />
|<br />
| bgcolor="yellow" | 90%<br />
| Floppy disk FM and [https://en.wikipedia.org/wiki/Modified_Frequency_Modulation MFM].<br />
| Work in progress (David Wiens).<br />
<br />
|-<br />
| HD Audio<br />
| Audio<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| Nokia NRC17<br />
| IR<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| Sony SIRC<br />
| IR<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| Philips RC-6<br />
| IR<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| Philips RC-MM<br />
| IR<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| Philips RECS80<br />
| IR<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [http://en.wikipedia.org/wiki/Infrared_Data_Association IrDA]<br />
| Misc<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| HD44780<br />
| Displays<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
| [http://en.wikipedia.org/wiki/HD44780_Character_LCD HD44780 character LCD] protocol<br />
|<br />
<br />
|-<br />
| 7-segment display<br />
| Displays<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
| <br />
|<br />
<br />
|-<br />
| [[Protocol_decoder:Pcf8814|PCF8814]]<br />
| Displays<br />
| &mdash;<br />
| pcf8814<br />
| bgcolor="yellow" | 50%<br />
| Philips PCF8814 65 x 96 pixels matrix LCD driver<br />
| Work in progress (Uwe Hermann).<br />
<br />
|-<br />
| [[Protocol_decoder:Pcf8814_lcd|PCF8814 LCD]]<br />
| Displays<br />
| pcf8814<br />
| pcf8814_lcd<br />
| bgcolor="yellow" | 50%<br />
| Philips PCF8814 65 x 96 pixels matrix LCD driver<br />
| Work in progress (Uwe Hermann).<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/RDM_%28lighting%29 RDM]<br />
| Industrial Lighting<br />
| &mdash;<br />
| rdm<br />
| bgcolor="red" | 0%<br />
|<br />
| <br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/NMEA_0183 NMEA 0183]<br />
| GPS<br />
| uart<br />
| nmea0183<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [[Protocol_decoder:Nmea2000|NMEA2000]]<br />
| Marine<br />
| can<br />
| nmea2000<br />
| bgcolor="red" | 0%<br />
| [https://en.wikipedia.org/wiki/NMEA_2000 NMEA 2000 Wikipedia page]<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/Digital_Command_Control DCC]<br />
| Trains<br />
| &mdash;<br />
| dcc<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/Train_Communication_Network MVB]<br />
| Trains<br />
| &mdash;<br />
| mvb<br />
| bgcolor="red" | 0%<br />
| Multifunction Vehicle Bus<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/Train_Communication_Network WTB]<br />
| Trains<br />
| &mdash;<br />
| wtb<br />
| bgcolor="red" | 0%<br />
| Wire Train Bus<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/C-Bus_%28protocol%29 C-Bus]<br />
| Home automation<br />
| &mdash;<br />
| cbus<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/X10_%28industry_standard%29 X10]<br />
| Home automation<br />
| &mdash;<br />
| x10<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/LonWorks LonWorks]<br />
| Home automation<br />
| &mdash;<br />
| lonworks<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/S-Bus S-Bus]<br />
| Home automation<br />
| &mdash;<br />
| sbus<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/Meter-Bus M-Bus]<br />
| Automation<br />
| &mdash;<br />
| mbus<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/Modbus Modbus ASCII]<br />
| Automation<br />
| uart<br />
| modbus<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/Modbus Modbus TCP]<br />
| Automation<br />
| ip<br />
| modbus<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/Highway_Addressable_Remote_Transducer_Protocol HART protocol]<br />
| Automation<br />
| &mdash;<br />
| hart<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/INTERBUS INTERBUS]<br />
| Automation<br />
| &mdash;<br />
| interbus<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/DirectNET_Protocol DirectNET]<br />
| Automation<br />
| uart<br />
| directnet<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/KNX_%28standard%29 KNX]<br />
| Automation<br />
| various<br />
| knx<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/Bacnet BACnet]<br />
| Automation<br />
| <br />
| bacnet<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/OpenTherm OpenTherm]<br />
| Automation<br />
| &mdash;<br />
| opentherm<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/EBUS_%28serial_buses%29 EBUS]<br />
| Automation<br />
| uart<br />
| ebus<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/Attachment_Unit_Interface AUI]<br />
| Networking<br />
| &mdash;<br />
| aui<br />
| bgcolor="red" | 0%<br />
| Attachment Unit Interface<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/Medium_Dependent_Interface MDI]<br />
| Networking<br />
| &mdash;<br />
| mdi<br />
| bgcolor="red" | 0%<br />
| Medium Dependent Interface<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/Media_Independent_Interface MII]<br />
| Networking<br />
| &mdash;<br />
| mii<br />
| bgcolor="red" | 0%<br />
| Media Independent Interface<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/Gigabit_Media_Independent_Interface#Gigabit_Media_Independent_Interface GMII]<br />
| Networking<br />
| &mdash;<br />
| gmii<br />
| bgcolor="red" | 0%<br />
| Gigabit Media Independent Interface<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/10_Gigabit_Media_Independent_Interface#10_Gigabit_Media_Independent_Interface XGMII]<br />
| Networking<br />
| &mdash;<br />
| xgmii<br />
| bgcolor="red" | 0%<br />
| 10 Gigabit Media Independent Interface<br />
|<br />
<br />
|-<br />
| [[Protocol_decoder:esp8266|ESP8266]]<br />
| Wireless<br />
| uart<br />
| esp8266<br />
| bgcolor="red" | 0%<br />
| WiFi Serial Transceiver<br />
|<br />
<br />
|-<br />
| [[Protocol Decoder:cc1101|TI CC1101]]<br />
| Wireless<br />
| spi<br />
| cc1101<br />
| bgcolor="orange" | 1%<br />
| SPI-attached wireless controller for 315/433/868/915 MHz ISM bands. [http://www.ti.com/lit/ds/symlink/cc1101.pdf Datasheet]<br />
| Work in progress ([[User:Rohieb|rohieb]])<br />
<br />
|-<br />
| [[Protocol Decoder:ac97|AC'97]]<br />
| Audio<br />
| ac97<br />
| &mdash;<br />
| bgcolor="orange" | 10%<br />
| &mdash;<br />
| Work in progress ([[User:Mithro|mithro]])<br />
<br />
|-<br />
| [[Protocol Decoder:tmds|TMDS (HDMI / DVI Pixel Data)]]<br />
| Display<br />
| tmds<br />
| &mdash;<br />
| bgcolor="orange" | 1%<br />
| https://github.com/mithro/tmds_encoding<br />
| Work in progress ([[User:Mithro|mithro]])<br />
<br />
|-<br />
| [[Protocol Decoder:graycode|Gray Code and Rotary Encoder]]<br />
| Misc<br />
| &mdash;<br />
| graycode<br />
| bgcolor="yellow" | 99%<br />
| https://github.com/crackwitz/sigrok-pd-graycode<br />
| Work in progress ([[User:Crackwitz|Crackwitz]])<br />
<br />
|-<br />
| [[Protocol Decoder:morse|Morse Code]]<br />
| Misc<br />
| &mdash;<br />
| morse<br />
| bgcolor="yellow" | 99%<br />
| https://github.com/crackwitz/sigrok-pd-morse<br />
| Work in progress ([[User:Crackwitz|Crackwitz]])<br />
<br />
|-<br />
| [[Protocol Decoder:Easymatic|Easymatic]]<br />
| Home automation<br />
| uart<br />
| easymatic<br />
| bgcolor="red" | 10%<br />
| <br />
| Work in progress (Platypus)<br />
<br />
|}<br />
<br />
__FORCETOC__</div>
Platypus
https://sigrok.org/w/index.php?title=Protocol_decoders&diff=12955
Protocol decoders
2017-11-21T14:18:21Z
<p>Platypus: /* Possible candidates for future protocol decoders */</p>
<hr />
<div>This is a list of '''supported protocol decoders (PDs)''' and '''decoders which we might want to write in the future''' (or users might want to contribute).<br />
<br />
See [[Protocol decoder API]] for details on how the decoders work in sigrok, and [[Protocol decoder HOWTO]] for a quick introduction about how to write your own decoders.<br />
<br />
== Supported protocol decoders ==<br />
<br />
Number of currently supported protocol decoders: '''78'''.<br />
<br />
{| border="0" style="font-size: smaller" class="alternategrey sortable sigroktable"<br />
|-<br />
!Protocol<br />
!Category<br />
!Input IDs<br />
!Output IDs<br />
!Status<br />
!Full name<br />
!Description<br />
<br />
{{pd|ade77xx|ADE77xx|Analog Devices ADE77xx|Poly phase multifunction energy metering IC protocol.|Sensors|spi|ade77xx|supported}}<br />
{{pd|adf435x|ADF435x|Analog Devices ADF4350/1|Wideband synthesizer with integrated VCO.|RF|spi|adf435x|supported}}<br />
{{pd|adns5020|ADNS-5020|Avago ADNS-5020 optical mouse sensor|Bidirectional command and data over an SPI-like protocol.|Sensors|spi|adns5020|supported}}<br />
{{pd|am230x|AM230x/DHTxx/RHTxx|Aosong AM230x/DHTxx|Aosong AM230x/DHTxx/RHTxx humidity/temperature sensor protocol.|Sensors|&mdash;|am230x|supported}}<br />
{{pd|arm_etmv3|ARM ETMv3|ARM Embedded Trace Macroblock|Decode ETM instruction trace packets.|Flash/debug|uart|arm_etmv3|supported}}<br />
{{pd|arm_itm|ARM ITM|ARM Instrumentation Trace Macroblock|Trace data from Cortex-M / ARMv7m ITM module.|Flash/debug|uart|arm_itm|supported}}<br />
{{pd|arm_tpiu|ARM TPIU|ARM Trace Port Interface Unit|Filter TPIU formatted trace data into separate streams.|Flash/debug|uart|uart|supported}}<br />
{{pd|aud|AUD|Advanced User Debugger|Renesas/Hitachi Advanced User Debugger (AUD) protocol.|Flash/debug|&mdash;|aud|supported}}<br />
{{pd|avr_isp|AVR ISP|AVR in-system programming|Protocol for in-system programming Atmel AVR MCUs.|Flash/debug|spi|avr_isp|supported}}<br />
{{pd|avr_pdi|AVR PDI|Atmel Program and Debug Interface|Atmel proprietary interface for the ATxmega MCU.|Flash/debug|logic|avr_pdi|supported}}<br />
{{pd|can|CAN|Controller Area Network|Field bus protocol for distributed realtime control.|Automotive|&mdash;|can|supported}}<br />
{{pd|dali|DALI|Digital Addressable Lighting Interface|DALI lighting control protocol.|Lighting|&mdash;|dali|supported}}<br />
{{pd|dcf77|DCF77|DCF77 time protocol|European longwave time signal (77.5kHz carrier signal).|Time signal|&mdash;|dcf77|supported}}<br />
{{pd|dmx512|DMX512|Digital MultipleX 512|Professional lighting control protocol.|Lighting|&mdash;|dmx512|supported}}<br />
{{pd|ds1307|DS1307|Dallas DS1307|Realtime clock module protocol.|RTC|i2c|ds1307|supported}}<br />
{{pd|ds243x|DS243x|Maxim DS2432/DS2433|Maxim DS243x series 1-Wire EEPROM protocol.|Memory|onewire_network|ds243x|supported}}<br />
{{pd|dsi|DSI|Digital Serial Interface|DSI lighting control protocol.|Lighting|&mdash;|dsi|supported}}<br />
{{pd|edid|EDID|Extended Display Identification Data|Data structure describing display device capabilities.|PC|i2c|edid|supported}}<br />
{{pd|eeprom24xx|24xx EEPROM|24xx I²C EEPROM|24xx series I²C EEPROM protocol.|Memory|i2c|eeprom24xx|supported}}<br />
{{pd|eeprom93cxx|93Cxx EEPROM|93Cxx Microwire EEPROM|93Cxx series Microwire EEPROM protocol.|Memory|microwire|eeprom93cxx|supported}}<br />
{{pd|em4100|EM4100|RFID EM4100|EM4100 100-150kHz RFID protocol.|RFID|&mdash;|em4100|supported}}<br />
{{pd|em4305|EM4305|RFID EM4205/EM4305|EM4205/EM4305 100-150kHz RFID protocol.|RFID|&mdash;|em4305|supported}}<br />
{{pd|gpib|GPIB|General Purpose Interface Bus|IEEE-488 GPIB / HPIB protocol.|Other|&mdash;|gpib|supported}}<br />
{{pd|guess_bitrate|Guess bitrate|Guess bitrate/baudrate|Guess the bitrate/baudrate of a UART (or other) protocol.|Other|&mdash;|guess_bitrate|supported}}<br />
{{pd|i2c|I2C|Inter-Integrated Circuit|Two-wire, multi-master, serial bus.|Embedded|&mdash;|i2c|supported}}<br />
{{pd|i2cdemux|I2C demux|I2C demultiplexer|Demux I2C packets into per-slave-address streams.|Embedded|i2c|''runtime decision''|supported}}<br />
{{pd|i2cfilter|I2C filter|I2C filter|Filter out addresses/directions in an I2C stream.|Embedded|i2c|i2c|supported}}<br />
{{pd|i2s|I2S|Integrated Interchip Sound|Serial bus for connecting digital audio devices.|Audio|&mdash;|i2s|supported}}<br />
{{pd|iec|IEC|Commodore bus|Commodore serial IEEE-488 (IEC) bus protocol.|Other|&mdash;|gpib|supported}}<br />
{{pd|ir_nec|IR NEC|IR NEC|NEC infrared remote control protocol.|IR|&mdash;|ir_nec|supported}}<br />
{{pd|ir_rc5|IR RC-5|IR RC-5|RC-5 infrared remote control protocol.|IR|&mdash;|ir_rc5|supported}}<br />
{{pd|jitter|Jitter|Timing jitter calculation|Retrieves the timing jitter between two digital signals.|Misc|&mdash;|jitter|supported}}<br />
{{pd|jtag|JTAG|Joint Test Action Group (IEEE 1149.1)|Protocol for testing, debugging, and flashing ICs.|Flash/debug|&mdash;|jtag|supported}}<br />
{{pd|jtag_stm32|JTAG / STM32|Joint Test Action Group / ST STM32|ST STM32-specific JTAG protocol.|Flash/debug|jtag|jtag_stm32|supported}}<br />
{{pd|lm75|LM75|National LM75|National LM75 (and compatibles) temperature sensor protocol.|Sensors|i2c|lm75|supported}}<br />
{{pd|lpc|LPC|Low-Pin-Count|Protocol for low-bandwidth devices on PC mainboards.|PC|&mdash;|lpc|supported}}<br />
{{pd|max7219|MAX7219|Maxim MAX7219/MAX7221|8-digit LED display driver.|Display|spi|max7219|supported}}<br />
{{pd|maxim_ds28ea00|DS28EA00|Maxim DS28EA00 1-Wire digital thermometer|1-Wire digital thermometer with Sequence Detect and PIO.|Sensors|onewire_network|maxim_ds28ea00|supported}}<br />
{{pd|mdio|MDIO|Management Data Input/Output|Half-duplex sync serial bus for MII management between MAC and PHY.|Networking|&mdash;|mdio|supported}}<br />
{{pd|microwire|Microwire|Microwire|3-wire, half-duplex, synchronous serial bus.|Embedded|&mdash;|microwire|supported}}<br />
{{pd|midi|MIDI|Musical Instrument Digital Interface|Musical Instrument Digital Interface (MIDI) protocol.|Music|uart|midi|supported}}<br />
{{pd|mlx90614|MLX90614|Melexis MLX90614|Infrared Thermometer protocol.|Sensors|i2c|mlx90614|supported}}<br />
{{pd|modbus|Modbus|Modbus RTU over RS232/RS485|Modbus RTU protocol for industrial applications.|Misc|uart|modbus|supported}}<br />
{{pd|mrf24j40|MRF24J40|Microchip MRF24J40|IEEE 802.15.4 2.4 GHz RF tranceiver chip.|RF|spi|mf24j40|supported}}<br />
{{pd|mxc6225xu|MXC6225XU|MEMSIC MXC6225XU|Digital Thermal Orientation Sensor (DTOS) protocol.|Sensors|i2c|mxc6225xu|supported}}<br />
{{pd|nrf24l01|nRF24L01(+)|Nordic Semiconductor nRF24L01/nRF24L01+|2.4GHz transceiver chip.|Wireless|spi|nrf24l01|supported}}<br />
{{pd|nunchuk|Nunchuk|Nintendo Wii Nunchuk|Nintendo Wii Nunchuk controller protocol.|Other|i2c|nunchuk|supported}}<br />
{{pd|onewire_link|1-Wire link layer|1-Wire serial communication bus (link layer)|Bidirectional, half-duplex, asynchronous serial bus.|Embedded|&mdash;|onewire_link|supported}}<br />
{{pd|onewire_network|1-Wire network layer|1-Wire serial communication bus (network layer)|Bidirectional, half-duplex, asynchronous serial bus.|Embedded|onewire_link|onewire_network|supported}}<br />
{{pd|pan1321|PAN1321|Panasonic PAN1321|Bluetooth RF module with Serial Port Profile (SPP).|Bluetooth|uart|pan1321|supported}}<br />
{{pd|parallel|Parallel|Parallel sync bus|Generic parallel synchronous bus.|Misc|&mdash;|parallel|supported}}<br />
{{pd|ps2|PS/2|PS/2|PS/2 keyboard/mouse interface.|PC|&mdash;|ps2|supported}}<br />
{{pd|pwm|PWM|Pulse-width modulation|Analog level encoded in duty cycle percentage.|Misc|&mdash;|pwm|supported}}<br />
{{pd|qi|Qi|Qi charger protocol|Async serial protocol for Qi charger receivers.|Misc|&mdash;|qi|supported}}<br />
{{pd|rfm12|RFM12|RFM12 control protocol|HopeRF RFM12 wireless transceivers control protocol.|Wireless|spi|rfm12|supported}}<br />
{{pd|rgb_led_spi|RGB LED (SPI)|RGB LED string decoder (SPI)|RGB LED string protocol (RGB values clocked over SPI).|LED|spi|rgb_led_spi|supported}}<br />
{{pd|rgb_led_ws281x|RGB LED (WS281x)|RGB LED string decoder (WS281x)|RGB LED string protocol (WS281x).|LED|&mdash;|rgb_led_ws281x|supported}}<br />
{{pd|rtc8564|RTC-8564|Epson RTC-8564 JE/NB|Realtime clock module protocol.|RTC|i2c|rtc8564|supported}}<br />
{{pd|sdcard_sd|SD card (SD mode)|Secure Digital card (SD mode)|Secure Digital card (SD mode) low-level protocol.|Memory|&mdash;|sdcard_sd|supported}}<br />
{{pd|sdcard_spi|SD card (SPI mode)|Secure Digital card (SPI mode)|Secure Digital card (SPI mode) low-level protocol.|Memory|spi|sdcard_spi|supported}}<br />
{{pd|spdif|S/PDIF|Sony/Philips Digital Interface Format|Serial bus for connecting digital audio devices.|Audio|&mdash;|spdif|supported}}<br />
{{pd|spi|SPI|Serial Peripheral Interface|Full-duplex, synchronous, serial bus.|Embedded|&mdash;|spi|supported}}<br />
{{pd|spiflash|SPI flash|SPI flash chips|xx25 series SPI (NOR) flash chip protocol.|SPI flash|spi|spiflash|supported}}<br />
{{pd|ssi32|SSI32|Synchronous Serial Interface (32bit)|Synchronous Serial Interface (32bit) protocol.|Misc|spi|ssi32|supported}}<br />
{{pd|stepper_motor|Stepper motor|Stepper motor position / speed|Absolute position and movement speed from step/dir.|Motors|&mdash;|stepper_motor|supported}}<br />
{{pd|swd|SWD|Serial Wire Debug|Two-wire protocol for debug access to ARM CPUs.|Flash/debug|&mdash;|swd|supported}}<br />
{{pd|t55xx|T55xx|RFID T5xx|T55xx 100-150kHz RFID protocol.|RFID|&mdash;|t55xx|supported}}<br />
{{pd|tca6408a|TI TCA6408A|Texas Instruments TCA6408A|Texas Instruments TCA6408A 8-bit I²C I/O expander.|I/O expander|i2c|tca6408a|supported}}<br />
{{pd|timing|Timing|Timing calculation|Calculate time between edges.|Misc|&mdash;|timing|supported}}<br />
{{pd|tlc5620|TI TLC5620|Texas Instruments TLC5620|Texas Instruments TLC5620 8-bit quad DAC.|DAC|&mdash;|tlc5620|supported}}<br />
{{pd|uart|UART|Universal Asynchronous Receiver/Transmitter|Asynchronous, serial bus.|Embedded|&mdash;|uart|supported}}<br />
{{pd|usb_packet|USB packet|Universal Serial Bus (LS/FS) packet|USB (low-speed and full-speed) packet protocol.|USB|usb_signalling|usb_packet|supported}}<br />
{{pd|usb_power_delivery|USB PD|USB Power Delivery|USB Power Delivery protocol.|USB|&mdash;|usb_pd|supported}}<br />
{{pd|usb_request|USB request|Universal Serial Bus (LS/FS) transaction/request|USB (low-speed and full-speed) transaction/request protocol.|USB|usb_packet|usb_request|supported}}<br />
{{pd|usb_signalling|USB signalling|Universal Serial Bus (LS/FS) signalling|USB (low-speed and full-speed) signalling protocol.|USB|&mdash;|usb_signalling|supported}}<br />
{{pd|wiegand|Wiegand|Wiegand interface|Wiegand interface for electronic entry systems.|RFID|&mdash;|wiegand|supported}}<br />
{{pd|xfp|XFP|10 Gigabit Small Form Factor Pluggable Module (XFP)|Data structure describing device capabilities.|Networking|i2c|xfp|supported}}<br />
{{pd|z80|Z80|Zilog Z80 CPU|Zilog Z80 microprocessor disassembly.|CPU|&mdash;|z80|supported}}<br />
<br />
|}<br />
<br />
== Possible candidates for future protocol decoders ==<br />
<br />
{| border="0" style="font-size: smaller" class="alternategrey sortable sigroktable"<br />
|-<br />
!Protocol<br />
!Category<br />
!Input ID(s)<br />
!Output ID(s)<br />
!Status<br />
!Description<br />
!Comments<br />
<br />
|-<br />
| SA8807A<br />
| Displays<br />
| spi<br />
|<br />
| bgcolor="red" | 0%<br />
| SPI-attached LCD. Datasheet: [http://pdf1.alldatasheet.com/datasheet-pdf/view/36922/SAMES/SA8807A.html Sames SA8807A].<br />
|<br />
<br />
|-<br />
| EA eDIPTFT43-A<br />
| Displays<br />
| i2c<br />
|<br />
| bgcolor="red" | 0%<br />
| I2C-attached LCD. Datasheet: [http://www.lcd-module.de/pdf/grafik/ediptft43-a.pdf EA eDIPTFT43-A].<br />
|<br />
<br />
|-<br />
| Analog Devices AD7291<br />
| ADC<br />
| i2c<br />
|<br />
| bgcolor="red" | 0%<br />
| I2C-attached ADC. Datasheet: [http://pdf1.alldatasheet.com/datasheet-pdf/view/318172/AD/AD7291.html Analog Devices AD7291].<br />
|<br />
<br />
|-<br />
| Analog Devices ADS1258<br />
| ADC<br />
| spi<br />
| ads1258<br />
| bgcolor="orange" | 0%<br />
| SPI-attached ADC.<br />
| Planned (Uwe Hermann).<br />
<br />
|-<br />
| Microchip MCP3901<br />
| ADC<br />
| spi<br />
| mcp3901<br />
| bgcolor="orange" | 0%<br />
| Can be controlled via a parallel protocol, or SPI, or I2C.<br />
| Planned (Uwe Hermann).<br />
<br />
|-<br />
| JTAG / TMPA9xx<br />
| Flash/debug<br />
| jtag<br />
| jtag_tmpa9xx<br />
| bgcolor="red" | 0%<br />
| Toshiba TMPA9xx specific JTAG protocol details.<br />
| <br />
<br />
|-<br />
| USB transfer<br />
| USB<br />
| usb_request<br />
| usb_transfer<br />
| bgcolor="red" | 0%<br />
| <br />
| <br />
<br />
|-<br />
| USB / HID<br />
| USB<br />
| usb_transfer<br />
| usb_hid<br />
| bgcolor="red" | 0%<br />
| <br />
| <br />
<br />
|-<br />
| USB / CDC<br />
| USB<br />
| usb_transfer<br />
| usb_cdc<br />
| bgcolor="red" | 0%<br />
| <br />
| <br />
<br />
|-<br />
| USB / USBTMC<br />
| USB<br />
| usb_transfer<br />
| usb_usbtmc<br />
| bgcolor="red" | 0%<br />
| <br />
| <br />
<br />
|-<br />
| Dallas DS1985<br />
| Other<br />
| onewire_network<br />
| <br />
| bgcolor="orange" | 0%<br />
| Dallas DS1985 iButton (1-Wire) device.<br />
| Planned (Uwe Hermann).<br />
<br />
|-<br />
| UNI/O<br />
| Embedded<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/Synchronous_Serial_Interface SSI]<br />
| Embedded<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
| Synchronous Serial Interface<br />
|<br />
<br />
|-<br />
| CompactFlash<br />
| Memory<br />
| &mdash;<br />
| <br />
| bgcolor="red" | 0%<br />
| <br />
| <br />
<br />
|-<br />
| MMC<br />
| Memory<br />
| &mdash;<br />
| <br />
| bgcolor="red" | 0%<br />
| <br />
| <br />
<br />
|-<br />
| Memory Stick<br />
| Memory<br />
| &mdash;<br />
| <br />
| bgcolor="red" | 0%<br />
| <br />
| <br />
<br />
|-<br />
| SmartMedia<br />
| Memory<br />
| &mdash;<br />
| <br />
| bgcolor="red" | 0%<br />
| <br />
| <br />
<br />
|-<br />
| xD-Picture Card<br />
| Memory<br />
| &mdash;<br />
| <br />
| bgcolor="red" | 0%<br />
| <br />
| <br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/ISO/IEC_7816 ISO 7816]<br />
| Smartcards<br />
| &mdash;<br />
| <br />
| bgcolor="red" | 0%<br />
| <br />
| <br />
<br />
|-<br />
| FlexRay<br />
| Automotive<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
| [http://en.wikipedia.org/wiki/Flexray FlexRay] is an automotive network communications protocol.<br />
|<br />
<br />
|-<br />
| LIN<br />
| Automotive<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
| [http://en.wikipedia.org/wiki/Local_Interconnect_Network LIN] (Local Interconnect Network) is an automotive bus standard.<br />
|<br />
<br />
|-<br />
| AVR TPI<br />
| Flash/debug<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
| Atmel Tiny Programming Interface (TPI) protocol.<br />
|<br />
<br />
|-<br />
| FWH<br />
| PC<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| ISA<br />
| PC<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| PCI<br />
| PC<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| SMBus<br />
| PC<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| IDE<br />
| PC<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| SCSI<br />
| PC<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/Platform_Environment_Control_Interface PECI]<br />
| PC<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
| Platform Environment Control Interface<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/SVID SVID]<br />
| PC<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
| Serial Voltage Identification<br />
|<br />
<br />
|-<br />
| [[Protocol_decoder:mfm|MFM]]<br />
| PC<br />
| &mdash;<br />
|<br />
| bgcolor="yellow" | 90%<br />
| Floppy disk FM and [https://en.wikipedia.org/wiki/Modified_Frequency_Modulation MFM].<br />
| Work in progress (David Wiens).<br />
<br />
|-<br />
| HD Audio<br />
| Audio<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| Nokia NRC17<br />
| IR<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| Sony SIRC<br />
| IR<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| Philips RC-6<br />
| IR<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| Philips RC-MM<br />
| IR<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| Philips RECS80<br />
| IR<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [http://en.wikipedia.org/wiki/Infrared_Data_Association IrDA]<br />
| Misc<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| HD44780<br />
| Displays<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
| [http://en.wikipedia.org/wiki/HD44780_Character_LCD HD44780 character LCD] protocol<br />
|<br />
<br />
|-<br />
| 7-segment display<br />
| Displays<br />
| &mdash;<br />
|<br />
| bgcolor="red" | 0%<br />
| <br />
|<br />
<br />
|-<br />
| [[Protocol_decoder:Pcf8814|PCF8814]]<br />
| Displays<br />
| &mdash;<br />
| pcf8814<br />
| bgcolor="yellow" | 50%<br />
| Philips PCF8814 65 x 96 pixels matrix LCD driver<br />
| Work in progress (Uwe Hermann).<br />
<br />
|-<br />
| [[Protocol_decoder:Pcf8814_lcd|PCF8814 LCD]]<br />
| Displays<br />
| pcf8814<br />
| pcf8814_lcd<br />
| bgcolor="yellow" | 50%<br />
| Philips PCF8814 65 x 96 pixels matrix LCD driver<br />
| Work in progress (Uwe Hermann).<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/RDM_%28lighting%29 RDM]<br />
| Industrial Lighting<br />
| &mdash;<br />
| rdm<br />
| bgcolor="red" | 0%<br />
|<br />
| <br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/NMEA_0183 NMEA 0183]<br />
| GPS<br />
| uart<br />
| nmea0183<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [[Protocol_decoder:Nmea2000|NMEA2000]]<br />
| Marine<br />
| can<br />
| nmea2000<br />
| bgcolor="red" | 0%<br />
| [https://en.wikipedia.org/wiki/NMEA_2000 NMEA 2000 Wikipedia page]<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/Digital_Command_Control DCC]<br />
| Trains<br />
| &mdash;<br />
| dcc<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/Train_Communication_Network MVB]<br />
| Trains<br />
| &mdash;<br />
| mvb<br />
| bgcolor="red" | 0%<br />
| Multifunction Vehicle Bus<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/Train_Communication_Network WTB]<br />
| Trains<br />
| &mdash;<br />
| wtb<br />
| bgcolor="red" | 0%<br />
| Wire Train Bus<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/C-Bus_%28protocol%29 C-Bus]<br />
| Home automation<br />
| &mdash;<br />
| cbus<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/X10_%28industry_standard%29 X10]<br />
| Home automation<br />
| &mdash;<br />
| x10<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/LonWorks LonWorks]<br />
| Home automation<br />
| &mdash;<br />
| lonworks<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/S-Bus S-Bus]<br />
| Home automation<br />
| &mdash;<br />
| sbus<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/Meter-Bus M-Bus]<br />
| Automation<br />
| &mdash;<br />
| mbus<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/Modbus Modbus ASCII]<br />
| Automation<br />
| uart<br />
| modbus<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/Modbus Modbus TCP]<br />
| Automation<br />
| ip<br />
| modbus<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/Highway_Addressable_Remote_Transducer_Protocol HART protocol]<br />
| Automation<br />
| &mdash;<br />
| hart<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/INTERBUS INTERBUS]<br />
| Automation<br />
| &mdash;<br />
| interbus<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/DirectNET_Protocol DirectNET]<br />
| Automation<br />
| uart<br />
| directnet<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/KNX_%28standard%29 KNX]<br />
| Automation<br />
| various<br />
| knx<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/Bacnet BACnet]<br />
| Automation<br />
| <br />
| bacnet<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/OpenTherm OpenTherm]<br />
| Automation<br />
| &mdash;<br />
| opentherm<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/EBUS_%28serial_buses%29 EBUS]<br />
| Automation<br />
| uart<br />
| ebus<br />
| bgcolor="red" | 0%<br />
|<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/Attachment_Unit_Interface AUI]<br />
| Networking<br />
| &mdash;<br />
| aui<br />
| bgcolor="red" | 0%<br />
| Attachment Unit Interface<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/Medium_Dependent_Interface MDI]<br />
| Networking<br />
| &mdash;<br />
| mdi<br />
| bgcolor="red" | 0%<br />
| Medium Dependent Interface<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/Media_Independent_Interface MII]<br />
| Networking<br />
| &mdash;<br />
| mii<br />
| bgcolor="red" | 0%<br />
| Media Independent Interface<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/Gigabit_Media_Independent_Interface#Gigabit_Media_Independent_Interface GMII]<br />
| Networking<br />
| &mdash;<br />
| gmii<br />
| bgcolor="red" | 0%<br />
| Gigabit Media Independent Interface<br />
|<br />
<br />
|-<br />
| [https://en.wikipedia.org/wiki/10_Gigabit_Media_Independent_Interface#10_Gigabit_Media_Independent_Interface XGMII]<br />
| Networking<br />
| &mdash;<br />
| xgmii<br />
| bgcolor="red" | 0%<br />
| 10 Gigabit Media Independent Interface<br />
|<br />
<br />
|-<br />
| [[Protocol_decoder:esp8266|ESP8266]]<br />
| Wireless<br />
| uart<br />
| esp8266<br />
| bgcolor="red" | 0%<br />
| WiFi Serial Transceiver<br />
|<br />
<br />
|-<br />
| [[Protocol Decoder:cc1101|TI CC1101]]<br />
| Wireless<br />
| spi<br />
| cc1101<br />
| bgcolor="orange" | 1%<br />
| SPI-attached wireless controller for 315/433/868/915 MHz ISM bands. [http://www.ti.com/lit/ds/symlink/cc1101.pdf Datasheet]<br />
| Work in progress ([[User:Rohieb|rohieb]])<br />
<br />
|-<br />
| [[Protocol Decoder:ac97|AC'97]]<br />
| Audio<br />
| ac97<br />
| &mdash;<br />
| bgcolor="orange" | 10%<br />
| &mdash;<br />
| Work in progress ([[User:Mithro|mithro]])<br />
<br />
|-<br />
| [[Protocol Decoder:tmds|TMDS (HDMI / DVI Pixel Data)]]<br />
| Display<br />
| tmds<br />
| &mdash;<br />
| bgcolor="orange" | 1%<br />
| https://github.com/mithro/tmds_encoding<br />
| Work in progress ([[User:Mithro|mithro]])<br />
<br />
|-<br />
| [[Protocol Decoder:graycode|Gray Code and Rotary Encoder]]<br />
| Misc<br />
| &mdash;<br />
| graycode<br />
| bgcolor="yellow" | 99%<br />
| https://github.com/crackwitz/sigrok-pd-graycode<br />
| Work in progress ([[User:Crackwitz|Crackwitz]])<br />
<br />
|-<br />
| [[Protocol Decoder:morse|Morse Code]]<br />
| Misc<br />
| &mdash;<br />
| morse<br />
| bgcolor="yellow" | 99%<br />
| https://github.com/crackwitz/sigrok-pd-morse<br />
| Work in progress ([[User:Crackwitz|Crackwitz]])<br />
<br />
|-<br />
| [[Protocol Decoder:morse|Morse Code]]<br />
| Easymatic<br />
| Easymatic<br />
| easymatic<br />
| bgcolor="red" | 10%<br />
| <br />
| Work in progress (Platypus)<br />
<br />
|}<br />
<br />
__FORCETOC__</div>
Platypus
https://sigrok.org/w/index.php?title=Protocol_decoder:Easymatic&diff=12954
Protocol decoder:Easymatic
2017-11-21T14:13:05Z
<p>Platypus: /* details */</p>
<hr />
<div>{{Infobox protocol decoder<br />
| id = easymatic<br />
| name = EASYMATIC<br />
| description = Asynchronous, serial bus, differential<br />
| status = planned<br />
| license = GPLv2+<br />
| source_code_dir = uart<br />
| image = [[File:Easymatic.jpg|250px]]<br />
| input = logic<br />
| output = Easymatic protocol<br />
| probes = &mdash;<br />
| optional_probes = Thermostat, Boiler<br />
| options = invert_thermostat, invert_boiler<br />
}}<br />
<br />
The '''easymatic''' protocol decoder can decode the thermostat Easymatic bus protocol used by De Dietrich.<br />
<br />
== Hardware ==<br />
<br />
=== Differential link ===<br />
<br />
The easymatic is linked to the boiler with two wires. This link can feed power to the easymatic. Easymatic can have two R4 accu in order to save data if the power cut.<br />
Boiler power is a 24V modulated with communication power.<br />
<br />
Communication is always working.<br />
<br />
[To be confirmed]<br />
<br />
The hardware is similar to [https://en.wikipedia.org/wiki/OpenTherm OpenTherm Specifications] : <br />
- differential link<br />
- about 24V<br />
- tension modulation for boiler<br />
- intensity modulation for thermostat (easymatic) ?<br />
<br />
In order to link with a logic analyzer [[Saleae Logic]] an interface must be done.<br />
<br />
=== Electrical coding ===<br />
<br />
[To be define]<br />
<br />
=== Idle state ===<br />
<br />
[To be define]<br />
<br />
== Protocol ==<br />
<br />
=== Uart based ===<br />
<br />
Whereas [https://en.wikipedia.org/wiki/OpenTherm OpenTherm] use [https://en.wikipedia.org/wiki/Manchester_code Manchester code], the easymatic seems to be based on [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Universal Asynchronous Receiver Transmitter] (UART).<br />
It's a :<br />
- 1200 bauds communication.<br />
- 8 bits of data<br />
- no parity<br />
- one stop bit<br />
<br />
The bit order of the 8 data bits is LSB-first. <br />
<br />
=== details ===<br />
<br />
[To be discovered and detailed]<br />
<br />
Frames are repeated twice<br />
<br />
To be define : how an order is send<br />
<br />
All frame are composed by 6 bytes<br />
Boiler frames begin with a byte in 01, 03, 05, 07, 09, 0B, 0D<br />
Thermostat frames begin with a "boiler beginning frame +1" : 02, 04, 06, 08, 0A, 0C, 0E<br />
<br />
''Frame description''<br />
<br />
{| border="0" style="font-size: smaller" class="alternategrey sortable sigroktable"<br />
!Frame (first byte)<br />
!Equipement<br />
!2sd byte<br />
!3th byte<br />
!4th byte<br />
!5th byte<br />
!6th byte<br />
!Comments<br />
<br />
|-<br />
| 0A<br />
| Easymatic<br />
| ?<br />
| colspan="2"|?<br />
| ?<br />
| ?<br />
| ?<br />
<br />
|-<br />
| 0B<br />
| Boiler<br />
| ?<br />
| ?<br />
| ?<br />
| colspan="2"| T°C exterior<br />
| example : 70,0°C = 0700DEC = 02BCHEX<br />
<br />
|-<br />
| 0C<br />
| Easymatic<br />
| 00?<br />
| colspan="2"| T°C max boiler<br />
| colspan="2"| Set point frost protection T°C exterior<br />
| <br />
<br />
|-<br />
| 0D<br />
| Boiler<br />
| 00?<br />
| 00?<br />
| 00?<br />
| colspan="2"| T°C exterior<br />
| <br />
<br />
|-<br />
| 0E<br />
| Easymatic<br />
| Hour<br />
| Day<br />
| Minutes<br />
| FF?<br />
| FF?<br />
| <br />
<br />
|-<br />
| 01<br />
| Boiler<br />
| 40?<br />
| colspan="2"| T°C drink water<br />
| colspan="2"| T°C boiler water<br />
| <br />
<br />
|-<br />
| 02<br />
| Easymatic<br />
| C1?<br />
| colspan="2"| Set point room T°C day<br />
| colspan="2"| Set point room T°C night<br />
| <br />
<br />
|-<br />
| 03<br />
| Boiler<br />
| 00?<br />
| ?<br />
| ?<br />
| ?<br />
| ?<br />
|<br />
<br />
|-<br />
| 04<br />
| Easymatic<br />
| 05?<br />
| colspan="2"| Set point frost protection room T°C<br />
| colspan="2"| Set point T°C drink water<br />
| <br />
<br />
|-<br />
| 05<br />
| Boiler<br />
| Boiler bits command ** ***<br />
| ?<br />
| ?<br />
| colspan="2"| exterior T°C<br />
| ***confirmation received order ?<br />
<br />
|-<br />
| 06<br />
| Easymatic<br />
| Boiler bits command ** ***<br />
| ?<br />
| ?<br />
| ?<br />
| ?<br />
| ***order ?<br />
<br />
|-<br />
| 07<br />
| Boiler<br />
| ?<br />
| ?<br />
| ?<br />
| colspan="2"| exterior T°C<br />
| <br />
<br />
|-<br />
| 08<br />
| Easymatic<br />
| 00?<br />
| ?<br />
| ?<br />
| ?<br />
| ?<br />
|<br />
<br />
<br />
|-<br />
| 09<br />
| Boiler<br />
| 00?<br />
| ?<br />
| ?<br />
| colspan="2"| exterior T°C<br />
|<br />
<br />
|}<br />
<br />
(**) bits signification ? : Boiler pump/Hydraulic valve Close//Hydraulic valve Open/Burner 1,2/Burner 1,1<br />
<br />
== Resources ==<br />
<br />
* [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Wikipedia: Universal asynchronous receiver/transmitter]<br />
* [http://www.dedietrich-heating.com/index.php/products/product_ranges/floor_standing_boilers/oil_condensing_wingo dedietrich information]<br />
<br />
<br />
[[Category:Protocol decoder]]<br />
[[Category:UART]]</div>
Platypus
https://sigrok.org/w/index.php?title=Protocol_decoder:Easymatic&diff=12953
Protocol decoder:Easymatic
2017-11-21T14:12:48Z
<p>Platypus: /* details */</p>
<hr />
<div>{{Infobox protocol decoder<br />
| id = easymatic<br />
| name = EASYMATIC<br />
| description = Asynchronous, serial bus, differential<br />
| status = planned<br />
| license = GPLv2+<br />
| source_code_dir = uart<br />
| image = [[File:Easymatic.jpg|250px]]<br />
| input = logic<br />
| output = Easymatic protocol<br />
| probes = &mdash;<br />
| optional_probes = Thermostat, Boiler<br />
| options = invert_thermostat, invert_boiler<br />
}}<br />
<br />
The '''easymatic''' protocol decoder can decode the thermostat Easymatic bus protocol used by De Dietrich.<br />
<br />
== Hardware ==<br />
<br />
=== Differential link ===<br />
<br />
The easymatic is linked to the boiler with two wires. This link can feed power to the easymatic. Easymatic can have two R4 accu in order to save data if the power cut.<br />
Boiler power is a 24V modulated with communication power.<br />
<br />
Communication is always working.<br />
<br />
[To be confirmed]<br />
<br />
The hardware is similar to [https://en.wikipedia.org/wiki/OpenTherm OpenTherm Specifications] : <br />
- differential link<br />
- about 24V<br />
- tension modulation for boiler<br />
- intensity modulation for thermostat (easymatic) ?<br />
<br />
In order to link with a logic analyzer [[Saleae Logic]] an interface must be done.<br />
<br />
=== Electrical coding ===<br />
<br />
[To be define]<br />
<br />
=== Idle state ===<br />
<br />
[To be define]<br />
<br />
== Protocol ==<br />
<br />
=== Uart based ===<br />
<br />
Whereas [https://en.wikipedia.org/wiki/OpenTherm OpenTherm] use [https://en.wikipedia.org/wiki/Manchester_code Manchester code], the easymatic seems to be based on [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Universal Asynchronous Receiver Transmitter] (UART).<br />
It's a :<br />
- 1200 bauds communication.<br />
- 8 bits of data<br />
- no parity<br />
- one stop bit<br />
<br />
The bit order of the 8 data bits is LSB-first. <br />
<br />
=== details ===<br />
<br />
[To be discovered and detailed]<br />
<br />
Frames are repeated twice<br />
<br />
To be define : how an order is send<br />
<br />
All frame are composed by 6 bytes<br />
Boiler frames begin with a byte in 01, 03, 05, 07, 09, 0B, 0D<br />
Thermostat frames begin with a "boiler beginning frame +1" : 02, 04, 06, 08, 0A, 0C, 0E<br />
<br />
''Frame description''<br />
<br />
{| border="0" style="font-size: smaller" class="alternategrey sortable sigroktable"<br />
!Frame (first byte)<br />
!Equipement<br />
!2sd byte<br />
!3th byte<br />
!4th byte<br />
!5th byte<br />
!6th byte<br />
!Comments<br />
<br />
|-<br />
| 0A<br />
| Easymatic<br />
| ?<br />
| colspan="2"|?<br />
| ?<br />
| ?<br />
| ?<br />
<br />
|-<br />
| 0B<br />
| Boiler<br />
| ?<br />
| ?<br />
| ?<br />
| colspan="2"| T°C exterior<br />
| example : 70,0°C = 0700DEC = 02BCHEX<br />
<br />
|-<br />
| 0C<br />
| Easymatic<br />
| 00?<br />
| colspan="2"| T°C max boiler<br />
| colspan="2"| Set point frost protection T°C exterior<br />
| <br />
<br />
|-<br />
| 0D<br />
| Boiler<br />
| 00?<br />
| 00?<br />
| 00?<br />
| colspan="2"| T°C exterior<br />
| <br />
<br />
|-<br />
| 0E<br />
| Easymatic<br />
| Hour<br />
| Day<br />
| Minutes<br />
| FF?<br />
| FF?<br />
| <br />
<br />
|-<br />
| 01<br />
| Boiler<br />
| 40?<br />
| colspan="2"| T°C drink water<br />
| colspan="2"| T°C boiler water<br />
| <br />
<br />
|-<br />
| 02<br />
| Easymatic<br />
| C1?<br />
| colspan="2"| Set point room T°C day<br />
| colspan="2"| Set point room T°C night<br />
| <br />
<br />
|-<br />
| 03<br />
| Boiler<br />
| 00?<br />
| ?<br />
| ?<br />
| ?<br />
| ?<br />
|<br />
<br />
|-<br />
| 04<br />
| Easymatic<br />
| 05?<br />
| colspan="2"| Set point frost protection room T°C<br />
| colspan="2"| Set point T°C drink water<br />
| <br />
<br />
|-<br />
| 05<br />
| Boiler<br />
| Boiler bits command ** ***<br />
| ?<br />
| ?<br />
| colspan="2"| exterior T°C<br />
| ***confirmation received order ?<br />
<br />
|-<br />
| 06<br />
| Easymatic<br />
| Boiler bits command ** ***<br />
| ?<br />
| ?<br />
| ?<br />
| ?<br />
| ***order ?<br />
<br />
|-<br />
| 07<br />
| Boiler<br />
| ?<br />
| ?<br />
| ?<br />
| colspan="2"| exterior T°C<br />
| <br />
<br />
|-<br />
| 08<br />
| Easymatic<br />
| 00?<br />
| ?<br />
| ?<br />
| ?<br />
| ?<br />
|<br />
<br />
<br />
|-<br />
| 09<br />
| Boiler<br />
| 00?<br />
| ?<br />
| ?<br />
| colspan="2"| exterior T°C<br />
|<br />
<br />
|}<br />
<br />
** bits signification ? : Boiler pump/Hydraulic valve Close//Hydraulic valve Open/Burner 1,2/Burner 1,1<br />
<br />
== Resources ==<br />
<br />
* [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Wikipedia: Universal asynchronous receiver/transmitter]<br />
* [http://www.dedietrich-heating.com/index.php/products/product_ranges/floor_standing_boilers/oil_condensing_wingo dedietrich information]<br />
<br />
<br />
[[Category:Protocol decoder]]<br />
[[Category:UART]]</div>
Platypus
https://sigrok.org/w/index.php?title=Protocol_decoder:Easymatic&diff=12952
Protocol decoder:Easymatic
2017-11-21T14:11:28Z
<p>Platypus: /* details */</p>
<hr />
<div>{{Infobox protocol decoder<br />
| id = easymatic<br />
| name = EASYMATIC<br />
| description = Asynchronous, serial bus, differential<br />
| status = planned<br />
| license = GPLv2+<br />
| source_code_dir = uart<br />
| image = [[File:Easymatic.jpg|250px]]<br />
| input = logic<br />
| output = Easymatic protocol<br />
| probes = &mdash;<br />
| optional_probes = Thermostat, Boiler<br />
| options = invert_thermostat, invert_boiler<br />
}}<br />
<br />
The '''easymatic''' protocol decoder can decode the thermostat Easymatic bus protocol used by De Dietrich.<br />
<br />
== Hardware ==<br />
<br />
=== Differential link ===<br />
<br />
The easymatic is linked to the boiler with two wires. This link can feed power to the easymatic. Easymatic can have two R4 accu in order to save data if the power cut.<br />
Boiler power is a 24V modulated with communication power.<br />
<br />
Communication is always working.<br />
<br />
[To be confirmed]<br />
<br />
The hardware is similar to [https://en.wikipedia.org/wiki/OpenTherm OpenTherm Specifications] : <br />
- differential link<br />
- about 24V<br />
- tension modulation for boiler<br />
- intensity modulation for thermostat (easymatic) ?<br />
<br />
In order to link with a logic analyzer [[Saleae Logic]] an interface must be done.<br />
<br />
=== Electrical coding ===<br />
<br />
[To be define]<br />
<br />
=== Idle state ===<br />
<br />
[To be define]<br />
<br />
== Protocol ==<br />
<br />
=== Uart based ===<br />
<br />
Whereas [https://en.wikipedia.org/wiki/OpenTherm OpenTherm] use [https://en.wikipedia.org/wiki/Manchester_code Manchester code], the easymatic seems to be based on [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Universal Asynchronous Receiver Transmitter] (UART).<br />
It's a :<br />
- 1200 bauds communication.<br />
- 8 bits of data<br />
- no parity<br />
- one stop bit<br />
<br />
The bit order of the 8 data bits is LSB-first. <br />
<br />
=== details ===<br />
<br />
[To be discovered and detailed]<br />
<br />
Frames are repeated twice<br />
<br />
To be define : how an order is send<br />
<br />
All frame are composed by 6 bytes<br />
Boiler frames begin with a byte in 01, 03, 05, 07, 09, 0B, 0D<br />
Thermostat frames begin with a "boiler beginning frame +1" : 02, 04, 06, 08, 0A, 0C, 0E<br />
<br />
''Frame description''<br />
<br />
{| border="0" style="font-size: smaller" class="alternategrey sortable sigroktable"<br />
!Frame (first byte)<br />
!Equipement<br />
!2sd byte<br />
!3th byte<br />
!4th byte<br />
!5th byte<br />
!6th byte<br />
!Comments<br />
<br />
|-<br />
| 0A<br />
| Easymatic<br />
| ?<br />
| colspan="2"|?<br />
| ?<br />
| ?<br />
| ?<br />
<br />
|-<br />
| 0B<br />
| Boiler<br />
| ?<br />
| ?<br />
| ?<br />
| colspan="2"| T°C exterior<br />
| example : 70,0°C = 0700DEC = 02BCHEX<br />
<br />
|-<br />
| 0C<br />
| Easymatic<br />
| 00?<br />
| colspan="2"| T°C max boiler<br />
| colspan="2"| Set point frost protection T°C exterior<br />
| <br />
<br />
|-<br />
| 0D<br />
| Boiler<br />
| 00?<br />
| 00?<br />
| 00?<br />
| colspan="2"| T°C exterior<br />
| <br />
<br />
|-<br />
| 0E<br />
| Easymatic<br />
| Hour<br />
| Day<br />
| Minutes<br />
| FF?<br />
| FF?<br />
| <br />
<br />
|-<br />
| 01<br />
| Boiler<br />
| 40?<br />
| colspan="2"| T°C drink water<br />
| colspan="2"| T°C boiler water<br />
| <br />
<br />
|-<br />
| 02<br />
| Easymatic<br />
| C1?<br />
| colspan="2"| Set point room T°C day<br />
| colspan="2"| Set point room T°C night<br />
| <br />
<br />
|-<br />
| 03<br />
| Boiler<br />
| 00?<br />
| ?<br />
| ?<br />
| ?<br />
| ?<br />
|<br />
<br />
|-<br />
| 04<br />
| Easymatic<br />
| 05?<br />
| colspan="2"| Set point frost protection room T°C<br />
| colspan="2"| Set point T°C drink water<br />
| <br />
<br />
|-<br />
| 05<br />
| Boiler<br />
| Boiler bits command ***<br />
| ?<br />
| ?<br />
| colspan="2"| exterior T°C<br />
| ***confirmation received order ?<br />
<br />
|-<br />
| 06<br />
| Easymatic<br />
| Boiler bits command ***<br />
| ?<br />
| ?<br />
| ?<br />
| ?<br />
| ***order ?/ bits : Boiler pump/Hydraulic valve Close//Hydraulic valve Open/Burner 1,2/Burner 1,1<br />
<br />
|-<br />
| 07<br />
| Boiler<br />
| ?<br />
| ?<br />
| ?<br />
| colspan="2"| exterior T°C<br />
| <br />
<br />
|-<br />
| 08<br />
| Easymatic<br />
| 00?<br />
| ?<br />
| ?<br />
| ?<br />
| ?<br />
|<br />
<br />
<br />
|-<br />
| 09<br />
| Boiler<br />
| 00?<br />
| ?<br />
| ?<br />
| colspan="2"| exterior T°C<br />
|<br />
<br />
|}<br />
<br />
== Resources ==<br />
<br />
* [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Wikipedia: Universal asynchronous receiver/transmitter]<br />
* [http://www.dedietrich-heating.com/index.php/products/product_ranges/floor_standing_boilers/oil_condensing_wingo dedietrich information]<br />
<br />
<br />
[[Category:Protocol decoder]]<br />
[[Category:UART]]</div>
Platypus
https://sigrok.org/w/index.php?title=Protocol_decoder:Easymatic&diff=12951
Protocol decoder:Easymatic
2017-11-21T14:00:59Z
<p>Platypus: /* details */</p>
<hr />
<div>{{Infobox protocol decoder<br />
| id = easymatic<br />
| name = EASYMATIC<br />
| description = Asynchronous, serial bus, differential<br />
| status = planned<br />
| license = GPLv2+<br />
| source_code_dir = uart<br />
| image = [[File:Easymatic.jpg|250px]]<br />
| input = logic<br />
| output = Easymatic protocol<br />
| probes = &mdash;<br />
| optional_probes = Thermostat, Boiler<br />
| options = invert_thermostat, invert_boiler<br />
}}<br />
<br />
The '''easymatic''' protocol decoder can decode the thermostat Easymatic bus protocol used by De Dietrich.<br />
<br />
== Hardware ==<br />
<br />
=== Differential link ===<br />
<br />
The easymatic is linked to the boiler with two wires. This link can feed power to the easymatic. Easymatic can have two R4 accu in order to save data if the power cut.<br />
Boiler power is a 24V modulated with communication power.<br />
<br />
Communication is always working.<br />
<br />
[To be confirmed]<br />
<br />
The hardware is similar to [https://en.wikipedia.org/wiki/OpenTherm OpenTherm Specifications] : <br />
- differential link<br />
- about 24V<br />
- tension modulation for boiler<br />
- intensity modulation for thermostat (easymatic) ?<br />
<br />
In order to link with a logic analyzer [[Saleae Logic]] an interface must be done.<br />
<br />
=== Electrical coding ===<br />
<br />
[To be define]<br />
<br />
=== Idle state ===<br />
<br />
[To be define]<br />
<br />
== Protocol ==<br />
<br />
=== Uart based ===<br />
<br />
Whereas [https://en.wikipedia.org/wiki/OpenTherm OpenTherm] use [https://en.wikipedia.org/wiki/Manchester_code Manchester code], the easymatic seems to be based on [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Universal Asynchronous Receiver Transmitter] (UART).<br />
It's a :<br />
- 1200 bauds communication.<br />
- 8 bits of data<br />
- no parity<br />
- one stop bit<br />
<br />
The bit order of the 8 data bits is LSB-first. <br />
<br />
=== details ===<br />
<br />
[To be discovered and detailed]<br />
<br />
Frames are repeated twice<br />
<br />
To be define : how an order is send<br />
<br />
All frame are composed by 6 bytes<br />
Boiler frames begin with a byte in 01, 03, 05, 07, 09, 0B, 0D<br />
Thermostat frames begin with a "boiler beginning frame +1" : 02, 04, 06, 08, 0A, 0C, 0E<br />
<br />
''Frame description''<br />
<br />
{| border="0" style="font-size: smaller" class="alternategrey sortable sigroktable"<br />
!Frame (first byte)<br />
!Equipement<br />
!2sd byte<br />
!3th byte<br />
!4th byte<br />
!5th byte<br />
!6th byte<br />
!Comments<br />
<br />
|-<br />
| 0A<br />
| Easymatic<br />
| ?<br />
| colspan="2"|?<br />
| ?<br />
| ?<br />
| ?<br />
<br />
|-<br />
| 0B<br />
| Boiler<br />
| ?<br />
| ?<br />
| ?<br />
| colspan="2"| T°C exterior<br />
| example : 70,0°C = 0700DEC = 02BCHEX<br />
<br />
|-<br />
| 0C<br />
| Easymatic<br />
| 00?<br />
| colspan="2"| T°C max boiler<br />
| colspan="2"| Set point frost protection T°C exterior<br />
| <br />
<br />
|-<br />
| 0D<br />
| Boiler<br />
| 00?<br />
| 00?<br />
| 00?<br />
| colspan="2"| T°C exterior<br />
| <br />
<br />
|-<br />
| 0E<br />
| Easymatic<br />
| Hour<br />
| Day<br />
| Minutes<br />
| FF?<br />
| FF?<br />
| <br />
<br />
|-<br />
| 01<br />
| Boiler<br />
| 40?<br />
| colspan="2"| T°C drink water<br />
| colspan="2"| T°C boiler water<br />
| <br />
<br />
|-<br />
| 02<br />
| Easymatic<br />
| C1?<br />
| colspan="2"| Set point room T°C day<br />
| colspan="2"| Set point room T°C night<br />
| <br />
<br />
|-<br />
| 03<br />
| Boiler<br />
| 00?<br />
| ?<br />
| ?<br />
| ?<br />
| ?<br />
|<br />
<br />
|-<br />
| 04<br />
| Easymatic<br />
| 05?<br />
| colspan="2"| Set point frost protection room T°C<br />
| colspan="2"| Set point T°C drink water<br />
| <br />
<br />
|-<br />
| 05<br />
| Boiler<br />
| Boiler bits command ***<br />
| ?<br />
| ?<br />
| colspan="2"| exterior T°C<br />
| ***confirmation received order ?<br />
<br />
|-<br />
| 06<br />
| Easymatic<br />
| Boiler bits command ***<br />
| ?<br />
| ?<br />
| ?<br />
| ?<br />
| ***order ?<br />
<br />
|-<br />
| 07<br />
| Boiler<br />
| ?<br />
| ?<br />
| ?<br />
| colspan="2"| exterior T°C<br />
| <br />
<br />
|-<br />
| 08<br />
| Easymatic<br />
| 00?<br />
| ?<br />
| ?<br />
| ?<br />
| ?<br />
|<br />
<br />
<br />
|-<br />
| 09<br />
| Boiler<br />
| 00?<br />
| ?<br />
| ?<br />
| colspan="2"| exterior T°C<br />
|<br />
<br />
|}<br />
<br />
== Resources ==<br />
<br />
* [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Wikipedia: Universal asynchronous receiver/transmitter]<br />
* [http://www.dedietrich-heating.com/index.php/products/product_ranges/floor_standing_boilers/oil_condensing_wingo dedietrich information]<br />
<br />
<br />
[[Category:Protocol decoder]]<br />
[[Category:UART]]</div>
Platypus
https://sigrok.org/w/index.php?title=Protocol_decoder:Easymatic&diff=12950
Protocol decoder:Easymatic
2017-11-21T13:58:24Z
<p>Platypus: /* details */</p>
<hr />
<div>{{Infobox protocol decoder<br />
| id = easymatic<br />
| name = EASYMATIC<br />
| description = Asynchronous, serial bus, differential<br />
| status = planned<br />
| license = GPLv2+<br />
| source_code_dir = uart<br />
| image = [[File:Easymatic.jpg|250px]]<br />
| input = logic<br />
| output = Easymatic protocol<br />
| probes = &mdash;<br />
| optional_probes = Thermostat, Boiler<br />
| options = invert_thermostat, invert_boiler<br />
}}<br />
<br />
The '''easymatic''' protocol decoder can decode the thermostat Easymatic bus protocol used by De Dietrich.<br />
<br />
== Hardware ==<br />
<br />
=== Differential link ===<br />
<br />
The easymatic is linked to the boiler with two wires. This link can feed power to the easymatic. Easymatic can have two R4 accu in order to save data if the power cut.<br />
Boiler power is a 24V modulated with communication power.<br />
<br />
Communication is always working.<br />
<br />
[To be confirmed]<br />
<br />
The hardware is similar to [https://en.wikipedia.org/wiki/OpenTherm OpenTherm Specifications] : <br />
- differential link<br />
- about 24V<br />
- tension modulation for boiler<br />
- intensity modulation for thermostat (easymatic) ?<br />
<br />
In order to link with a logic analyzer [[Saleae Logic]] an interface must be done.<br />
<br />
=== Electrical coding ===<br />
<br />
[To be define]<br />
<br />
=== Idle state ===<br />
<br />
[To be define]<br />
<br />
== Protocol ==<br />
<br />
=== Uart based ===<br />
<br />
Whereas [https://en.wikipedia.org/wiki/OpenTherm OpenTherm] use [https://en.wikipedia.org/wiki/Manchester_code Manchester code], the easymatic seems to be based on [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Universal Asynchronous Receiver Transmitter] (UART).<br />
It's a :<br />
- 1200 bauds communication.<br />
- 8 bits of data<br />
- no parity<br />
- one stop bit<br />
<br />
The bit order of the 8 data bits is LSB-first. <br />
<br />
=== details ===<br />
<br />
[To be discovered and detailed]<br />
<br />
Frames are repeated twice<br />
<br />
To be define : how an order is send<br />
<br />
All frame are composed by 6 bytes<br />
Boiler frames begin with a byte in 01, 03, 05, 07, 09, 0B, 0D<br />
Thermostat frames begin with a "boiler beginning frame +1" : 02, 04, 06, 08, 0A, 0C, 0E<br />
<br />
''Frame description''<br />
<br />
{| class="alternategrey sortable sigroktable"<br />
!Frame (first byte)<br />
!Equipement<br />
!2sd byte<br />
!3th byte<br />
!4th byte<br />
!5th byte<br />
!6th byte<br />
!Comments<br />
<br />
|-<br />
| 0A<br />
| Easymatic<br />
| ?<br />
| colspan="2"|?<br />
| ?<br />
| ?<br />
| ?<br />
<br />
|-<br />
| 0B<br />
| Boiler<br />
| ?<br />
| ?<br />
| ?<br />
| colspan="2"| T°C exterior<br />
| example : 70,0°C = 0700DEC = 02BCHEX<br />
<br />
|-<br />
| 0C<br />
| Easymatic<br />
| 00?<br />
| colspan="2"| T°C max boiler<br />
| colspan="2"| Set point frost protection T°C exterior<br />
| <br />
<br />
|-<br />
| 0D<br />
| Boiler<br />
| 00?<br />
| 00?<br />
| 00?<br />
| colspan="2"| T°C exterior<br />
| <br />
<br />
|-<br />
| 0E<br />
| Easymatic<br />
| Hour<br />
| Day<br />
| Minutes<br />
| FF?<br />
| FF?<br />
| <br />
<br />
|-<br />
| 01<br />
| Boiler<br />
| 40?<br />
| colspan="2"| T°C drink water<br />
| colspan="2"| T°C boiler water<br />
| <br />
<br />
|-<br />
| 02<br />
| Easymatic<br />
| C1?<br />
| colspan="2"| Set point room T°C day<br />
| colspan="2"| Set point room T°C night<br />
| <br />
<br />
|-<br />
| 03<br />
| Boiler<br />
| 00?<br />
| ?<br />
| ?<br />
| ?<br />
| ?<br />
|<br />
<br />
|-<br />
| 04<br />
| Easymatic<br />
| 05?<br />
| colspan="2"| Set point frost protection room T°C<br />
| colspan="2"| Set point T°C drink water<br />
| <br />
<br />
|-<br />
| 05<br />
| Boiler<br />
| Boiler bits command ***<br />
| ?<br />
| ?<br />
| colspan="2"| exterior T°C<br />
| ***confirmation received order ?<br />
<br />
|-<br />
| 06<br />
| Easymatic<br />
| Boiler bits command ***<br />
| ?<br />
| ?<br />
| ?<br />
| ?<br />
| ***order ?<br />
<br />
|-<br />
| 07<br />
| Boiler<br />
| ?<br />
| ?<br />
| ?<br />
| colspan="2"| exterior T°C<br />
| <br />
<br />
|-<br />
| 08<br />
| Easymatic<br />
| 00?<br />
| ?<br />
| ?<br />
| ?<br />
| ?<br />
|<br />
<br />
<br />
|-<br />
| 09<br />
| Boiler<br />
| 00?<br />
| ?<br />
| ?<br />
| colspan="2"| exterior T°C<br />
|<br />
<br />
|}<br />
<br />
== Resources ==<br />
<br />
* [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Wikipedia: Universal asynchronous receiver/transmitter]<br />
* [http://www.dedietrich-heating.com/index.php/products/product_ranges/floor_standing_boilers/oil_condensing_wingo dedietrich information]<br />
<br />
<br />
[[Category:Protocol decoder]]<br />
[[Category:UART]]</div>
Platypus
https://sigrok.org/w/index.php?title=Protocol_decoder:Easymatic&diff=12949
Protocol decoder:Easymatic
2017-11-21T13:57:56Z
<p>Platypus: /* details */</p>
<hr />
<div>{{Infobox protocol decoder<br />
| id = easymatic<br />
| name = EASYMATIC<br />
| description = Asynchronous, serial bus, differential<br />
| status = planned<br />
| license = GPLv2+<br />
| source_code_dir = uart<br />
| image = [[File:Easymatic.jpg|250px]]<br />
| input = logic<br />
| output = Easymatic protocol<br />
| probes = &mdash;<br />
| optional_probes = Thermostat, Boiler<br />
| options = invert_thermostat, invert_boiler<br />
}}<br />
<br />
The '''easymatic''' protocol decoder can decode the thermostat Easymatic bus protocol used by De Dietrich.<br />
<br />
== Hardware ==<br />
<br />
=== Differential link ===<br />
<br />
The easymatic is linked to the boiler with two wires. This link can feed power to the easymatic. Easymatic can have two R4 accu in order to save data if the power cut.<br />
Boiler power is a 24V modulated with communication power.<br />
<br />
Communication is always working.<br />
<br />
[To be confirmed]<br />
<br />
The hardware is similar to [https://en.wikipedia.org/wiki/OpenTherm OpenTherm Specifications] : <br />
- differential link<br />
- about 24V<br />
- tension modulation for boiler<br />
- intensity modulation for thermostat (easymatic) ?<br />
<br />
In order to link with a logic analyzer [[Saleae Logic]] an interface must be done.<br />
<br />
=== Electrical coding ===<br />
<br />
[To be define]<br />
<br />
=== Idle state ===<br />
<br />
[To be define]<br />
<br />
== Protocol ==<br />
<br />
=== Uart based ===<br />
<br />
Whereas [https://en.wikipedia.org/wiki/OpenTherm OpenTherm] use [https://en.wikipedia.org/wiki/Manchester_code Manchester code], the easymatic seems to be based on [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Universal Asynchronous Receiver Transmitter] (UART).<br />
It's a :<br />
- 1200 bauds communication.<br />
- 8 bits of data<br />
- no parity<br />
- one stop bit<br />
<br />
The bit order of the 8 data bits is LSB-first. <br />
<br />
=== details ===<br />
<br />
[To be discovered and detailed]<br />
<br />
Frames are repeated twice<br />
<br />
To be define : how an order is send<br />
<br />
All frame are composed by 6 bytes<br />
Boiler frames begin with a byte in 01, 03, 05, 07, 09, 0B, 0D<br />
Thermostat frames begin with a "boiler beginning frame +1" : 02, 04, 06, 08, 0A, 0C, 0E<br />
<br />
''Frame 0A/0B''<br />
<br />
{| class="alternategrey sortable sigroktable"<br />
!Frame (first byte)<br />
!Equipement<br />
!2sd byte<br />
!3th byte<br />
!4th byte<br />
!5th byte<br />
!6th byte<br />
!Comments<br />
<br />
|-<br />
| 0A<br />
| Easymatic<br />
| ?<br />
| colspan="2"|?<br />
| ?<br />
| ?<br />
| ?<br />
<br />
|-<br />
| 0B<br />
| Boiler<br />
| ?<br />
| ?<br />
| ?<br />
| colspan="2"| T°C exterior<br />
| example : 70,0°C = 0700DEC = 02BCHEX<br />
<br />
|-<br />
| 0C<br />
| Easymatic<br />
| 00?<br />
| colspan="2"| T°C max boiler<br />
| colspan="2"| Set point frost protection T°C exterior<br />
| <br />
<br />
|-<br />
| 0D<br />
| Boiler<br />
| 00?<br />
| 00?<br />
| 00?<br />
| colspan="2"| T°C exterior<br />
| <br />
<br />
|-<br />
| 0E<br />
| Easymatic<br />
| Hour<br />
| Day<br />
| Minutes<br />
| FF?<br />
| FF?<br />
| <br />
<br />
|-<br />
| 01<br />
| Boiler<br />
| 40?<br />
| colspan="2"| T°C drink water<br />
| colspan="2"| T°C boiler water<br />
| <br />
<br />
|-<br />
| 02<br />
| Easymatic<br />
| C1?<br />
| colspan="2"| Set point room T°C day<br />
| colspan="2"| Set point room T°C night<br />
| <br />
<br />
|-<br />
| 03<br />
| Boiler<br />
| 00?<br />
| ?<br />
| ?<br />
| ?<br />
| ?<br />
|<br />
<br />
|-<br />
| 04<br />
| Easymatic<br />
| 05?<br />
| colspan="2"| Set point frost protection room T°C<br />
| colspan="2"| Set point T°C drink water<br />
| <br />
<br />
|-<br />
| 05<br />
| Boiler<br />
| Boiler bits command ***<br />
| ?<br />
| ?<br />
| colspan="2"| exterior T°C<br />
| ***confirmation received order ?<br />
<br />
|-<br />
| 06<br />
| Easymatic<br />
| Boiler bits command ***<br />
| ?<br />
| ?<br />
| ?<br />
| ?<br />
| ***order ?<br />
<br />
|-<br />
| 07<br />
| Boiler<br />
| ?<br />
| ?<br />
| ?<br />
| colspan="2"| exterior T°C<br />
| <br />
<br />
|-<br />
| 08<br />
| Easymatic<br />
| 00?<br />
| ?<br />
| ?<br />
| ?<br />
| ?<br />
|<br />
<br />
<br />
|-<br />
| 09<br />
| Boiler<br />
| 00?<br />
| ?<br />
| ?<br />
| colspan="2"| exterior T°C<br />
|<br />
<br />
|}<br />
<br />
== Resources ==<br />
<br />
* [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Wikipedia: Universal asynchronous receiver/transmitter]<br />
* [http://www.dedietrich-heating.com/index.php/products/product_ranges/floor_standing_boilers/oil_condensing_wingo dedietrich information]<br />
<br />
<br />
[[Category:Protocol decoder]]<br />
[[Category:UART]]</div>
Platypus
https://sigrok.org/w/index.php?title=Protocol_decoder:Easymatic&diff=12948
Protocol decoder:Easymatic
2017-11-21T13:55:59Z
<p>Platypus: /* details */</p>
<hr />
<div>{{Infobox protocol decoder<br />
| id = easymatic<br />
| name = EASYMATIC<br />
| description = Asynchronous, serial bus, differential<br />
| status = planned<br />
| license = GPLv2+<br />
| source_code_dir = uart<br />
| image = [[File:Easymatic.jpg|250px]]<br />
| input = logic<br />
| output = Easymatic protocol<br />
| probes = &mdash;<br />
| optional_probes = Thermostat, Boiler<br />
| options = invert_thermostat, invert_boiler<br />
}}<br />
<br />
The '''easymatic''' protocol decoder can decode the thermostat Easymatic bus protocol used by De Dietrich.<br />
<br />
== Hardware ==<br />
<br />
=== Differential link ===<br />
<br />
The easymatic is linked to the boiler with two wires. This link can feed power to the easymatic. Easymatic can have two R4 accu in order to save data if the power cut.<br />
Boiler power is a 24V modulated with communication power.<br />
<br />
Communication is always working.<br />
<br />
[To be confirmed]<br />
<br />
The hardware is similar to [https://en.wikipedia.org/wiki/OpenTherm OpenTherm Specifications] : <br />
- differential link<br />
- about 24V<br />
- tension modulation for boiler<br />
- intensity modulation for thermostat (easymatic) ?<br />
<br />
In order to link with a logic analyzer [[Saleae Logic]] an interface must be done.<br />
<br />
=== Electrical coding ===<br />
<br />
[To be define]<br />
<br />
=== Idle state ===<br />
<br />
[To be define]<br />
<br />
== Protocol ==<br />
<br />
=== Uart based ===<br />
<br />
Whereas [https://en.wikipedia.org/wiki/OpenTherm OpenTherm] use [https://en.wikipedia.org/wiki/Manchester_code Manchester code], the easymatic seems to be based on [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Universal Asynchronous Receiver Transmitter] (UART).<br />
It's a :<br />
- 1200 bauds communication.<br />
- 8 bits of data<br />
- no parity<br />
- one stop bit<br />
<br />
The bit order of the 8 data bits is LSB-first. <br />
<br />
=== details ===<br />
<br />
[To be discovered and detailed]<br />
<br />
Frames are repeated twice<br />
<br />
To be define : how an order is send<br />
<br />
All frame are composed by 6 bytes<br />
Boiler frames begin with a byte in 01, 03, 05, 07, 09, 0B, 0D<br />
Thermostat frames begin with a "boiler beginning frame +1" : 02, 04, 06, 08, 0A, 0C, 0E<br />
<br />
''Frame 0A/0B''<br />
<br />
{| class="alternategrey sortable sigroktable"<br />
!Frame (first byte)<br />
!Equipement<br />
!2sd byte<br />
!3th byte<br />
!4th byte<br />
!5th byte<br />
!6th byte<br />
!Comments<br />
<br />
|-<br />
| 0A<br />
| Easymatic<br />
| ?<br />
| colspan="2"|?<br />
| ?<br />
| ?<br />
| ?<br />
<br />
|-<br />
| 0B<br />
| Boiler<br />
| ?<br />
| ?<br />
| ?<br />
| colspan="2"| T°C exterior<br />
| example : 70,0°C = 0700DEC = 02BCHEX<br />
<br />
|-<br />
| 0C<br />
| Easymatic<br />
| 00?<br />
| colspan="2"| T°C max boiler<br />
| colspan="2"| Set point frost protection T°C exterior<br />
| <br />
<br />
|-<br />
| 0D<br />
| Boiler<br />
| 00?<br />
| 00?<br />
| 00?<br />
| colspan="2"| T°C exterior<br />
| <br />
<br />
|-<br />
| 0E<br />
| Easymatic<br />
| Hour<br />
| Day<br />
| Minutes<br />
| FF?<br />
| FF?<br />
| <br />
<br />
|-<br />
| 01<br />
| Boiler<br />
| 40?<br />
| colspan="2"| T°C drink water<br />
| colspan="2"| T°C boiler water<br />
| <br />
<br />
|-<br />
| 02<br />
| Easymatic<br />
| C1?<br />
| colspan="2"| Set point room T°C day<br />
| colspan="2"| Set point room T°C night<br />
| <br />
<br />
|-<br />
| 03<br />
| Boiler<br />
| 00?<br />
| ?<br />
| ?<br />
| ?<br />
| ?<br />
|<br />
<br />
|-<br />
| 04<br />
| Easymatic<br />
| 05?<br />
| colspan="2"| Set point frost protection room T°C<br />
| colspan="2"| Set point T°C drink water<br />
| <br />
<br />
|-<br />
| 05<br />
| Boiler<br />
| Boiler bits command ***<br />
| ?<br />
| ?<br />
| colspan="2"| exterior T°C<br />
| ***confirmation received order ?<br />
<br />
|-<br />
| 06<br />
| Easymatic<br />
| Boiler bits command ***<br />
| ?<br />
| ?<br />
| ?<br />
| ?<br />
| ***order ?<br />
<br />
|}<br />
<br />
== Resources ==<br />
<br />
* [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Wikipedia: Universal asynchronous receiver/transmitter]<br />
* [http://www.dedietrich-heating.com/index.php/products/product_ranges/floor_standing_boilers/oil_condensing_wingo dedietrich information]<br />
<br />
<br />
[[Category:Protocol decoder]]<br />
[[Category:UART]]</div>
Platypus
https://sigrok.org/w/index.php?title=Protocol_decoder:Easymatic&diff=12947
Protocol decoder:Easymatic
2017-11-21T13:54:49Z
<p>Platypus: /* details */</p>
<hr />
<div>{{Infobox protocol decoder<br />
| id = easymatic<br />
| name = EASYMATIC<br />
| description = Asynchronous, serial bus, differential<br />
| status = planned<br />
| license = GPLv2+<br />
| source_code_dir = uart<br />
| image = [[File:Easymatic.jpg|250px]]<br />
| input = logic<br />
| output = Easymatic protocol<br />
| probes = &mdash;<br />
| optional_probes = Thermostat, Boiler<br />
| options = invert_thermostat, invert_boiler<br />
}}<br />
<br />
The '''easymatic''' protocol decoder can decode the thermostat Easymatic bus protocol used by De Dietrich.<br />
<br />
== Hardware ==<br />
<br />
=== Differential link ===<br />
<br />
The easymatic is linked to the boiler with two wires. This link can feed power to the easymatic. Easymatic can have two R4 accu in order to save data if the power cut.<br />
Boiler power is a 24V modulated with communication power.<br />
<br />
Communication is always working.<br />
<br />
[To be confirmed]<br />
<br />
The hardware is similar to [https://en.wikipedia.org/wiki/OpenTherm OpenTherm Specifications] : <br />
- differential link<br />
- about 24V<br />
- tension modulation for boiler<br />
- intensity modulation for thermostat (easymatic) ?<br />
<br />
In order to link with a logic analyzer [[Saleae Logic]] an interface must be done.<br />
<br />
=== Electrical coding ===<br />
<br />
[To be define]<br />
<br />
=== Idle state ===<br />
<br />
[To be define]<br />
<br />
== Protocol ==<br />
<br />
=== Uart based ===<br />
<br />
Whereas [https://en.wikipedia.org/wiki/OpenTherm OpenTherm] use [https://en.wikipedia.org/wiki/Manchester_code Manchester code], the easymatic seems to be based on [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Universal Asynchronous Receiver Transmitter] (UART).<br />
It's a :<br />
- 1200 bauds communication.<br />
- 8 bits of data<br />
- no parity<br />
- one stop bit<br />
<br />
The bit order of the 8 data bits is LSB-first. <br />
<br />
=== details ===<br />
<br />
[To be discovered and detailed]<br />
<br />
Frames are repeated twice<br />
<br />
To be define : how an order is send<br />
<br />
All frame are composed by 6 bytes<br />
Boiler frames begin with a byte in 01, 03, 05, 07, 09, 0B, 0D<br />
Thermostat frames begin with a "boiler beginning frame +1" : 02, 04, 06, 08, 0A, 0C, 0E<br />
<br />
''Frame 0A/0B''<br />
<br />
{| class="alternategrey sortable sigroktable"<br />
!Frame (first byte)<br />
!Equipement<br />
!2sd byte<br />
!3th byte<br />
!4th byte<br />
!5th byte<br />
!6th byte<br />
!Comments<br />
<br />
|-<br />
| 0A<br />
| Easymatic<br />
| ?<br />
| colspan="2"|?<br />
| ?<br />
| ?<br />
| ?<br />
<br />
|-<br />
| 0B<br />
| Boiler<br />
| ?<br />
| ?<br />
| ?<br />
| colspan="2"| T°C exterior<br />
| example : 70,0°C = 0700DEC = 02BCHEX<br />
<br />
|-<br />
| 0C<br />
| Easymatic<br />
| 00?<br />
| colspan="2"| T°C max boiler<br />
| colspan="2"| Set point frost protection T°C exterior<br />
| <br />
<br />
|-<br />
| 0D<br />
| Boiler<br />
| 00?<br />
| 00?<br />
| 00?<br />
| colspan="2"| T°C exterior<br />
| <br />
<br />
|-<br />
| 0E<br />
| Easymatic<br />
| Hour<br />
| Day<br />
| Minutes<br />
| FF?<br />
| FF?<br />
| <br />
<br />
|-<br />
| 01<br />
| Boiler<br />
| 40?<br />
| colspan="2"| T°C drink water<br />
| colspan="2"| T°C boiler water<br />
| <br />
<br />
|-<br />
| 02<br />
| Easymatic<br />
| C1?<br />
| colspan="2"| Set point room T°C day<br />
| colspan="2"| Set point room T°C night<br />
| <br />
<br />
|-<br />
| 03<br />
| Boiler<br />
| 00?<br />
| ?<br />
| ?<br />
| ?<br />
| ?<br />
|<br />
<br />
|-<br />
| 04<br />
| Easymatic<br />
| 05?<br />
| colspan="2"| Set point frost protection room T°C<br />
| colspan="2"| Set point T°C drink water<br />
| <br />
<br />
|-<br />
| 05<br />
| Boiler<br />
| Boiler bits command ***<br />
| ?<br />
| ?<br />
| colspan="2"| exterior T°C<br />
| ***(confirmation recieved order ?)<br />
<br />
|}<br />
<br />
== Resources ==<br />
<br />
* [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Wikipedia: Universal asynchronous receiver/transmitter]<br />
* [http://www.dedietrich-heating.com/index.php/products/product_ranges/floor_standing_boilers/oil_condensing_wingo dedietrich information]<br />
<br />
<br />
[[Category:Protocol decoder]]<br />
[[Category:UART]]</div>
Platypus
https://sigrok.org/w/index.php?title=Protocol_decoder:Easymatic&diff=12946
Protocol decoder:Easymatic
2017-11-21T13:52:46Z
<p>Platypus: /* details */</p>
<hr />
<div>{{Infobox protocol decoder<br />
| id = easymatic<br />
| name = EASYMATIC<br />
| description = Asynchronous, serial bus, differential<br />
| status = planned<br />
| license = GPLv2+<br />
| source_code_dir = uart<br />
| image = [[File:Easymatic.jpg|250px]]<br />
| input = logic<br />
| output = Easymatic protocol<br />
| probes = &mdash;<br />
| optional_probes = Thermostat, Boiler<br />
| options = invert_thermostat, invert_boiler<br />
}}<br />
<br />
The '''easymatic''' protocol decoder can decode the thermostat Easymatic bus protocol used by De Dietrich.<br />
<br />
== Hardware ==<br />
<br />
=== Differential link ===<br />
<br />
The easymatic is linked to the boiler with two wires. This link can feed power to the easymatic. Easymatic can have two R4 accu in order to save data if the power cut.<br />
Boiler power is a 24V modulated with communication power.<br />
<br />
Communication is always working.<br />
<br />
[To be confirmed]<br />
<br />
The hardware is similar to [https://en.wikipedia.org/wiki/OpenTherm OpenTherm Specifications] : <br />
- differential link<br />
- about 24V<br />
- tension modulation for boiler<br />
- intensity modulation for thermostat (easymatic) ?<br />
<br />
In order to link with a logic analyzer [[Saleae Logic]] an interface must be done.<br />
<br />
=== Electrical coding ===<br />
<br />
[To be define]<br />
<br />
=== Idle state ===<br />
<br />
[To be define]<br />
<br />
== Protocol ==<br />
<br />
=== Uart based ===<br />
<br />
Whereas [https://en.wikipedia.org/wiki/OpenTherm OpenTherm] use [https://en.wikipedia.org/wiki/Manchester_code Manchester code], the easymatic seems to be based on [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Universal Asynchronous Receiver Transmitter] (UART).<br />
It's a :<br />
- 1200 bauds communication.<br />
- 8 bits of data<br />
- no parity<br />
- one stop bit<br />
<br />
The bit order of the 8 data bits is LSB-first. <br />
<br />
=== details ===<br />
<br />
[To be discovered and detailed]<br />
<br />
Frames are repeated twice<br />
<br />
To be define : how an order is send<br />
<br />
All frame are composed by 6 bytes<br />
Boiler frames begin with a byte in 01, 03, 05, 07, 09, 0B, 0D<br />
Thermostat frames begin with a "boiler beginning frame +1" : 02, 04, 06, 08, 0A, 0C, 0E<br />
<br />
''Frame 0A/0B''<br />
<br />
{| class="alternategrey sortable sigroktable"<br />
!Frame (first byte)<br />
!Equipement<br />
!2sd byte<br />
!3th byte<br />
!4th byte<br />
!5th byte<br />
!6th byte<br />
!Comments<br />
<br />
|-<br />
| 0A<br />
| Easymatic<br />
| ?<br />
| colspan="2"|?<br />
| ?<br />
| ?<br />
| ?<br />
<br />
|-<br />
| 0B<br />
| Boiler<br />
| ?<br />
| ?<br />
| ?<br />
| colspan="2"| T°C exterior<br />
| example : 70,0°C = 0700DEC = 02BCHEX<br />
<br />
|-<br />
| 0C<br />
| Easymatic<br />
| 00?<br />
| colspan="2"| T°C max boiler<br />
| colspan="2"| Set point frost protection T°C exterior<br />
| <br />
<br />
|-<br />
| 0D<br />
| Boiler<br />
| 00?<br />
| 00?<br />
| 00?<br />
| colspan="2"| T°C exterior<br />
| <br />
<br />
|-<br />
| 0E<br />
| Easymatic<br />
| Hour<br />
| Day<br />
| Minutes<br />
| FF?<br />
| FF?<br />
| <br />
<br />
|-<br />
| 01<br />
| Boiler<br />
| 40?<br />
| colspan="2"| T°C drink water<br />
| colspan="2"| T°C boiler water<br />
| <br />
<br />
|-<br />
| 02<br />
| Easymatic<br />
| C1?<br />
| colspan="2"| Set point room T°C day<br />
| colspan="2"| Set point room T°C night<br />
| <br />
<br />
|-<br />
| 03<br />
| Boiler<br />
| 00?<br />
| ?<br />
| ?<br />
| ?<br />
| ?<br />
|<br />
<br />
|-<br />
| 04<br />
| Easymatic<br />
| 05?<br />
| colspan="2"| Set point frost protection room T°C<br />
| colspan="2"| Set point T°C drink water<br />
| <br />
<br />
|-<br />
| 05<br />
| Boiler<br />
| Boiler bits command<br />
| colspan="2"| Set point frost protection room T°C<br />
| colspan="2"| Set point T°C drink water<br />
| <br />
<br />
|}<br />
<br />
== Resources ==<br />
<br />
* [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Wikipedia: Universal asynchronous receiver/transmitter]<br />
* [http://www.dedietrich-heating.com/index.php/products/product_ranges/floor_standing_boilers/oil_condensing_wingo dedietrich information]<br />
<br />
<br />
[[Category:Protocol decoder]]<br />
[[Category:UART]]</div>
Platypus
https://sigrok.org/w/index.php?title=Protocol_decoder:Easymatic&diff=12945
Protocol decoder:Easymatic
2017-11-21T13:51:28Z
<p>Platypus: /* details */</p>
<hr />
<div>{{Infobox protocol decoder<br />
| id = easymatic<br />
| name = EASYMATIC<br />
| description = Asynchronous, serial bus, differential<br />
| status = planned<br />
| license = GPLv2+<br />
| source_code_dir = uart<br />
| image = [[File:Easymatic.jpg|250px]]<br />
| input = logic<br />
| output = Easymatic protocol<br />
| probes = &mdash;<br />
| optional_probes = Thermostat, Boiler<br />
| options = invert_thermostat, invert_boiler<br />
}}<br />
<br />
The '''easymatic''' protocol decoder can decode the thermostat Easymatic bus protocol used by De Dietrich.<br />
<br />
== Hardware ==<br />
<br />
=== Differential link ===<br />
<br />
The easymatic is linked to the boiler with two wires. This link can feed power to the easymatic. Easymatic can have two R4 accu in order to save data if the power cut.<br />
Boiler power is a 24V modulated with communication power.<br />
<br />
Communication is always working.<br />
<br />
[To be confirmed]<br />
<br />
The hardware is similar to [https://en.wikipedia.org/wiki/OpenTherm OpenTherm Specifications] : <br />
- differential link<br />
- about 24V<br />
- tension modulation for boiler<br />
- intensity modulation for thermostat (easymatic) ?<br />
<br />
In order to link with a logic analyzer [[Saleae Logic]] an interface must be done.<br />
<br />
=== Electrical coding ===<br />
<br />
[To be define]<br />
<br />
=== Idle state ===<br />
<br />
[To be define]<br />
<br />
== Protocol ==<br />
<br />
=== Uart based ===<br />
<br />
Whereas [https://en.wikipedia.org/wiki/OpenTherm OpenTherm] use [https://en.wikipedia.org/wiki/Manchester_code Manchester code], the easymatic seems to be based on [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Universal Asynchronous Receiver Transmitter] (UART).<br />
It's a :<br />
- 1200 bauds communication.<br />
- 8 bits of data<br />
- no parity<br />
- one stop bit<br />
<br />
The bit order of the 8 data bits is LSB-first. <br />
<br />
=== details ===<br />
<br />
[To be discovered and detailed]<br />
<br />
Frames are repeated twice<br />
<br />
To be define : how an order is send<br />
<br />
All frame are composed by 6 bytes<br />
Boiler frames begin with a byte in 01, 03, 05, 07, 09, 0B, 0D<br />
Thermostat frames begin with a "boiler beginning frame +1" : 02, 04, 06, 08, 0A, 0C, 0E<br />
<br />
''Frame 0A/0B''<br />
<br />
{| class="alternategrey sortable sigroktable"<br />
!Frame (first byte)<br />
!2sd byte<br />
!3th byte<br />
!4th byte<br />
!5th byte<br />
!6th byte<br />
!Comments<br />
<br />
|-<br />
| 0A<br />
| ?<br />
| colspan="2"|?<br />
| ?<br />
| ?<br />
| ?<br />
<br />
|-<br />
| 0B<br />
| ?<br />
| ?<br />
| ?<br />
| colspan="2"| T°C exterior<br />
| example : 70,0°C = 0700DEC = 02BCHEX<br />
<br />
|-<br />
| 0C<br />
| 00?<br />
| colspan="2"| T°C max boiler<br />
| colspan="2"| Set point frost protection T°C exterior<br />
| <br />
<br />
|-<br />
| 0D<br />
| 00?<br />
| 00?<br />
| 00?<br />
| colspan="2"| T°C exterior<br />
| <br />
<br />
|-<br />
| 0E<br />
| Hour<br />
| Day<br />
| Minutes<br />
| FF?<br />
| FF?<br />
| <br />
<br />
|-<br />
| 01<br />
| 40?<br />
| colspan="2"| T°C drink water<br />
| colspan="2"| T°C boiler water<br />
| <br />
<br />
|-<br />
| 02<br />
| C1?<br />
| colspan="2"| Set point room T°C day<br />
| colspan="2"| Set point room T°C night<br />
| <br />
<br />
|-<br />
| 03<br />
| 00?<br />
| ?<br />
| ?<br />
| ?<br />
| ?<br />
|<br />
<br />
|-<br />
| 04<br />
| 05?<br />
| colspan="2"| Set point frost protection room T°C<br />
| colspan="2"| Set point T°C drink water<br />
| <br />
<br />
|-<br />
| 05<br />
| Boiler bits command<br />
| colspan="2"| Set point frost protection room T°C<br />
| colspan="2"| Set point T°C drink water<br />
| <br />
<br />
|}<br />
<br />
== Resources ==<br />
<br />
* [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Wikipedia: Universal asynchronous receiver/transmitter]<br />
* [http://www.dedietrich-heating.com/index.php/products/product_ranges/floor_standing_boilers/oil_condensing_wingo dedietrich information]<br />
<br />
<br />
[[Category:Protocol decoder]]<br />
[[Category:UART]]</div>
Platypus
https://sigrok.org/w/index.php?title=Protocol_decoder:Easymatic&diff=12944
Protocol decoder:Easymatic
2017-11-21T13:50:58Z
<p>Platypus: /* details */</p>
<hr />
<div>{{Infobox protocol decoder<br />
| id = easymatic<br />
| name = EASYMATIC<br />
| description = Asynchronous, serial bus, differential<br />
| status = planned<br />
| license = GPLv2+<br />
| source_code_dir = uart<br />
| image = [[File:Easymatic.jpg|250px]]<br />
| input = logic<br />
| output = Easymatic protocol<br />
| probes = &mdash;<br />
| optional_probes = Thermostat, Boiler<br />
| options = invert_thermostat, invert_boiler<br />
}}<br />
<br />
The '''easymatic''' protocol decoder can decode the thermostat Easymatic bus protocol used by De Dietrich.<br />
<br />
== Hardware ==<br />
<br />
=== Differential link ===<br />
<br />
The easymatic is linked to the boiler with two wires. This link can feed power to the easymatic. Easymatic can have two R4 accu in order to save data if the power cut.<br />
Boiler power is a 24V modulated with communication power.<br />
<br />
Communication is always working.<br />
<br />
[To be confirmed]<br />
<br />
The hardware is similar to [https://en.wikipedia.org/wiki/OpenTherm OpenTherm Specifications] : <br />
- differential link<br />
- about 24V<br />
- tension modulation for boiler<br />
- intensity modulation for thermostat (easymatic) ?<br />
<br />
In order to link with a logic analyzer [[Saleae Logic]] an interface must be done.<br />
<br />
=== Electrical coding ===<br />
<br />
[To be define]<br />
<br />
=== Idle state ===<br />
<br />
[To be define]<br />
<br />
== Protocol ==<br />
<br />
=== Uart based ===<br />
<br />
Whereas [https://en.wikipedia.org/wiki/OpenTherm OpenTherm] use [https://en.wikipedia.org/wiki/Manchester_code Manchester code], the easymatic seems to be based on [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Universal Asynchronous Receiver Transmitter] (UART).<br />
It's a :<br />
- 1200 bauds communication.<br />
- 8 bits of data<br />
- no parity<br />
- one stop bit<br />
<br />
The bit order of the 8 data bits is LSB-first. <br />
<br />
=== details ===<br />
<br />
[To be discovered and detailed]<br />
<br />
Frames are repeated twice<br />
<br />
To be define : how an order is send<br />
<br />
All frame are composed by 6 bytes<br />
Boiler frames begin with a byte in 01, 03, 05, 07, 09, 0B, 0D<br />
Thermostat frames begin with a "boiler beginning frame +1" : 02, 04, 06, 08, 0A, 0C, 0E<br />
<br />
''Frame 0A/0B''<br />
<br />
{| class="wikitable" cellpadding="10" sortable <br />
!Frame (first byte)<br />
!2sd byte<br />
!3th byte<br />
!4th byte<br />
!5th byte<br />
!6th byte<br />
!Comments<br />
<br />
|-<br />
| 0A<br />
| ?<br />
| colspan="2"|?<br />
| ?<br />
| ?<br />
| ?<br />
<br />
|-<br />
| 0B<br />
| ?<br />
| ?<br />
| ?<br />
| colspan="2"| T°C exterior<br />
| example : 70,0°C = 0700DEC = 02BCHEX<br />
<br />
|-<br />
| 0C<br />
| 00?<br />
| colspan="2"| T°C max boiler<br />
| colspan="2"| Set point frost protection T°C exterior<br />
| <br />
<br />
|-<br />
| 0D<br />
| 00?<br />
| 00?<br />
| 00?<br />
| colspan="2"| T°C exterior<br />
| <br />
<br />
|-<br />
| 0E<br />
| Hour<br />
| Day<br />
| Minutes<br />
| FF?<br />
| FF?<br />
| <br />
<br />
|-<br />
| 01<br />
| 40?<br />
| colspan="2"| T°C drink water<br />
| colspan="2"| T°C boiler water<br />
| <br />
<br />
|-<br />
| 02<br />
| C1?<br />
| colspan="2"| Set point room T°C day<br />
| colspan="2"| Set point room T°C night<br />
| <br />
<br />
|-<br />
| 03<br />
| 00?<br />
| ?<br />
| ?<br />
| ?<br />
| ?<br />
|<br />
<br />
|-<br />
| 04<br />
| 05?<br />
| colspan="2"| Set point frost protection room T°C<br />
| colspan="2"| Set point T°C drink water<br />
| <br />
<br />
|-<br />
| 05<br />
| Boiler bits command<br />
| colspan="2"| Set point frost protection room T°C<br />
| colspan="2"| Set point T°C drink water<br />
| <br />
<br />
|}<br />
<br />
== Resources ==<br />
<br />
* [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Wikipedia: Universal asynchronous receiver/transmitter]<br />
* [http://www.dedietrich-heating.com/index.php/products/product_ranges/floor_standing_boilers/oil_condensing_wingo dedietrich information]<br />
<br />
<br />
[[Category:Protocol decoder]]<br />
[[Category:UART]]</div>
Platypus
https://sigrok.org/w/index.php?title=Protocol_decoder:Easymatic&diff=12943
Protocol decoder:Easymatic
2017-11-21T13:50:27Z
<p>Platypus: /* details */</p>
<hr />
<div>{{Infobox protocol decoder<br />
| id = easymatic<br />
| name = EASYMATIC<br />
| description = Asynchronous, serial bus, differential<br />
| status = planned<br />
| license = GPLv2+<br />
| source_code_dir = uart<br />
| image = [[File:Easymatic.jpg|250px]]<br />
| input = logic<br />
| output = Easymatic protocol<br />
| probes = &mdash;<br />
| optional_probes = Thermostat, Boiler<br />
| options = invert_thermostat, invert_boiler<br />
}}<br />
<br />
The '''easymatic''' protocol decoder can decode the thermostat Easymatic bus protocol used by De Dietrich.<br />
<br />
== Hardware ==<br />
<br />
=== Differential link ===<br />
<br />
The easymatic is linked to the boiler with two wires. This link can feed power to the easymatic. Easymatic can have two R4 accu in order to save data if the power cut.<br />
Boiler power is a 24V modulated with communication power.<br />
<br />
Communication is always working.<br />
<br />
[To be confirmed]<br />
<br />
The hardware is similar to [https://en.wikipedia.org/wiki/OpenTherm OpenTherm Specifications] : <br />
- differential link<br />
- about 24V<br />
- tension modulation for boiler<br />
- intensity modulation for thermostat (easymatic) ?<br />
<br />
In order to link with a logic analyzer [[Saleae Logic]] an interface must be done.<br />
<br />
=== Electrical coding ===<br />
<br />
[To be define]<br />
<br />
=== Idle state ===<br />
<br />
[To be define]<br />
<br />
== Protocol ==<br />
<br />
=== Uart based ===<br />
<br />
Whereas [https://en.wikipedia.org/wiki/OpenTherm OpenTherm] use [https://en.wikipedia.org/wiki/Manchester_code Manchester code], the easymatic seems to be based on [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Universal Asynchronous Receiver Transmitter] (UART).<br />
It's a :<br />
- 1200 bauds communication.<br />
- 8 bits of data<br />
- no parity<br />
- one stop bit<br />
<br />
The bit order of the 8 data bits is LSB-first. <br />
<br />
=== details ===<br />
<br />
[To be discovered and detailed]<br />
<br />
Frames are repeated twice<br />
<br />
To be define : how an order is send<br />
<br />
All frame are composed by 6 bytes<br />
Boiler frames begin with a byte in 01, 03, 05, 07, 09, 0B, 0D<br />
Thermostat frames begin with a "boiler beginning frame +1" : 02, 04, 06, 08, 0A, 0C, 0E<br />
<br />
''Frame 0A/0B''<br />
<br />
{| class="wikitable" cellpadding="10"<br />
!Frame (first byte)<br />
!2sd byte<br />
!3th byte<br />
!4th byte<br />
!5th byte<br />
!6th byte<br />
!Comments<br />
<br />
|-<br />
| 0A<br />
| ?<br />
| colspan="2"|?<br />
| ?<br />
| ?<br />
| ?<br />
<br />
|-<br />
| 0B<br />
| ?<br />
| ?<br />
| ?<br />
| colspan="2"| T°C exterior<br />
| example : 70,0°C = 0700DEC = 02BCHEX<br />
<br />
|-<br />
| 0C<br />
| 00?<br />
| colspan="2"| T°C max boiler<br />
| colspan="2"| Set point frost protection T°C exterior<br />
| <br />
<br />
|-<br />
| 0D<br />
| 00?<br />
| 00?<br />
| 00?<br />
| colspan="2"| T°C exterior<br />
| <br />
<br />
|-<br />
| 0E<br />
| Hour<br />
| Day<br />
| Minutes<br />
| FF?<br />
| FF?<br />
| <br />
<br />
|-<br />
| 01<br />
| 40?<br />
| colspan="2"| T°C drink water<br />
| colspan="2"| T°C boiler water<br />
| <br />
<br />
|-<br />
| 02<br />
| C1?<br />
| colspan="2"| Set point room T°C day<br />
| colspan="2"| Set point room T°C night<br />
| <br />
<br />
|-<br />
| 03<br />
| 00?<br />
| ?<br />
| ?<br />
| ?<br />
| ?<br />
|<br />
<br />
|-<br />
| 04<br />
| 05?<br />
| colspan="2"| Set point frost protection room T°C<br />
| colspan="2"| Set point T°C drink water<br />
| <br />
<br />
|-<br />
| 05<br />
| Boiler bits command<br />
| colspan="2"| Set point frost protection room T°C<br />
| colspan="2"| Set point T°C drink water<br />
| <br />
<br />
|}<br />
<br />
== Resources ==<br />
<br />
* [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Wikipedia: Universal asynchronous receiver/transmitter]<br />
* [http://www.dedietrich-heating.com/index.php/products/product_ranges/floor_standing_boilers/oil_condensing_wingo dedietrich information]<br />
<br />
<br />
[[Category:Protocol decoder]]<br />
[[Category:UART]]</div>
Platypus
https://sigrok.org/w/index.php?title=Protocol_decoder:Easymatic&diff=12942
Protocol decoder:Easymatic
2017-11-21T13:42:15Z
<p>Platypus: /* details */</p>
<hr />
<div>{{Infobox protocol decoder<br />
| id = easymatic<br />
| name = EASYMATIC<br />
| description = Asynchronous, serial bus, differential<br />
| status = planned<br />
| license = GPLv2+<br />
| source_code_dir = uart<br />
| image = [[File:Easymatic.jpg|250px]]<br />
| input = logic<br />
| output = Easymatic protocol<br />
| probes = &mdash;<br />
| optional_probes = Thermostat, Boiler<br />
| options = invert_thermostat, invert_boiler<br />
}}<br />
<br />
The '''easymatic''' protocol decoder can decode the thermostat Easymatic bus protocol used by De Dietrich.<br />
<br />
== Hardware ==<br />
<br />
=== Differential link ===<br />
<br />
The easymatic is linked to the boiler with two wires. This link can feed power to the easymatic. Easymatic can have two R4 accu in order to save data if the power cut.<br />
Boiler power is a 24V modulated with communication power.<br />
<br />
Communication is always working.<br />
<br />
[To be confirmed]<br />
<br />
The hardware is similar to [https://en.wikipedia.org/wiki/OpenTherm OpenTherm Specifications] : <br />
- differential link<br />
- about 24V<br />
- tension modulation for boiler<br />
- intensity modulation for thermostat (easymatic) ?<br />
<br />
In order to link with a logic analyzer [[Saleae Logic]] an interface must be done.<br />
<br />
=== Electrical coding ===<br />
<br />
[To be define]<br />
<br />
=== Idle state ===<br />
<br />
[To be define]<br />
<br />
== Protocol ==<br />
<br />
=== Uart based ===<br />
<br />
Whereas [https://en.wikipedia.org/wiki/OpenTherm OpenTherm] use [https://en.wikipedia.org/wiki/Manchester_code Manchester code], the easymatic seems to be based on [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Universal Asynchronous Receiver Transmitter] (UART).<br />
It's a :<br />
- 1200 bauds communication.<br />
- 8 bits of data<br />
- no parity<br />
- one stop bit<br />
<br />
The bit order of the 8 data bits is LSB-first. <br />
<br />
=== details ===<br />
<br />
[To be discovered and detailed]<br />
<br />
Frames are repeated twice<br />
<br />
To be define : how an order is send<br />
<br />
All frame are composed by 6 bytes<br />
Boiler frames begin with a byte in 01, 03, 05, 07, 09, 0B, 0D<br />
Thermostat frames begin with a "boiler beginning frame +1" : 02, 04, 06, 08, 0A, 0C, 0E<br />
<br />
''Frame 0A/0B''<br />
<br />
{| class="wikitable" cellpadding="10"<br />
!Frame (first byte)<br />
!2sd byte<br />
!3th byte<br />
!4th byte<br />
!5th byte<br />
!6th byte<br />
!Comments<br />
<br />
|-<br />
| 0A<br />
| ?<br />
| colspan="2"|?<br />
| ?<br />
| ?<br />
| ?<br />
<br />
|-<br />
| 0B<br />
| ?<br />
| ?<br />
| ?<br />
| colspan="2"| T°C exterior<br />
| example : 70,0°C = 0700DEC = 02BCHEX<br />
<br />
|-<br />
| 0C<br />
| 00?<br />
| colspan="2"| T°C max boiler<br />
| colspan="2"| T°C set point winter<br />
| <br />
<br />
|-<br />
| 0D<br />
| 00?<br />
| 00?<br />
| 00?<br />
| colspan="2"| T°C exterior<br />
| <br />
<br />
|-<br />
| 0E<br />
| Hour<br />
| Day<br />
| Minutes<br />
| FF?<br />
| FF?<br />
| <br />
<br />
|-<br />
| 01<br />
| 40?<br />
| colspan="2"| T°C drink water<br />
| colspan="2"| T°C boiler water<br />
| <br />
<br />
|}<br />
<br />
== Resources ==<br />
<br />
* [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Wikipedia: Universal asynchronous receiver/transmitter]<br />
* [http://www.dedietrich-heating.com/index.php/products/product_ranges/floor_standing_boilers/oil_condensing_wingo dedietrich information]<br />
<br />
<br />
[[Category:Protocol decoder]]<br />
[[Category:UART]]</div>
Platypus
https://sigrok.org/w/index.php?title=Protocol_decoder:Easymatic&diff=12941
Protocol decoder:Easymatic
2017-11-21T13:40:08Z
<p>Platypus: /* details */</p>
<hr />
<div>{{Infobox protocol decoder<br />
| id = easymatic<br />
| name = EASYMATIC<br />
| description = Asynchronous, serial bus, differential<br />
| status = planned<br />
| license = GPLv2+<br />
| source_code_dir = uart<br />
| image = [[File:Easymatic.jpg|250px]]<br />
| input = logic<br />
| output = Easymatic protocol<br />
| probes = &mdash;<br />
| optional_probes = Thermostat, Boiler<br />
| options = invert_thermostat, invert_boiler<br />
}}<br />
<br />
The '''easymatic''' protocol decoder can decode the thermostat Easymatic bus protocol used by De Dietrich.<br />
<br />
== Hardware ==<br />
<br />
=== Differential link ===<br />
<br />
The easymatic is linked to the boiler with two wires. This link can feed power to the easymatic. Easymatic can have two R4 accu in order to save data if the power cut.<br />
Boiler power is a 24V modulated with communication power.<br />
<br />
Communication is always working.<br />
<br />
[To be confirmed]<br />
<br />
The hardware is similar to [https://en.wikipedia.org/wiki/OpenTherm OpenTherm Specifications] : <br />
- differential link<br />
- about 24V<br />
- tension modulation for boiler<br />
- intensity modulation for thermostat (easymatic) ?<br />
<br />
In order to link with a logic analyzer [[Saleae Logic]] an interface must be done.<br />
<br />
=== Electrical coding ===<br />
<br />
[To be define]<br />
<br />
=== Idle state ===<br />
<br />
[To be define]<br />
<br />
== Protocol ==<br />
<br />
=== Uart based ===<br />
<br />
Whereas [https://en.wikipedia.org/wiki/OpenTherm OpenTherm] use [https://en.wikipedia.org/wiki/Manchester_code Manchester code], the easymatic seems to be based on [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Universal Asynchronous Receiver Transmitter] (UART).<br />
It's a :<br />
- 1200 bauds communication.<br />
- 8 bits of data<br />
- no parity<br />
- one stop bit<br />
<br />
The bit order of the 8 data bits is LSB-first. <br />
<br />
=== details ===<br />
<br />
[To be discovered and detailed]<br />
<br />
Frames are repeated twice<br />
<br />
To be define : how an order is send<br />
<br />
All frame are composed by 6 bytes<br />
Boiler frames begin with a byte in 01, 03, 05, 07, 09, 0B, 0D<br />
Thermostat frames begin with a "boiler beginning frame +1" : 02, 04, 06, 08, 0A, 0C, 0E<br />
<br />
''Frame 0A/0B''<br />
<br />
{| class="wikitable" cellpadding="10"<br />
!Frame (first byte)<br />
!2sd byte<br />
!3th byte<br />
!4th byte<br />
!5th byte<br />
!6th byte<br />
!Comments<br />
<br />
|-<br />
| 0A<br />
| ?<br />
| colspan="2"|?<br />
| ?<br />
| ?<br />
| ?<br />
<br />
|-<br />
| 0B<br />
| ?<br />
| ?<br />
| ?<br />
| colspan="2"| T°C exterior<br />
| example : 70,0°C = 0700DEC = 02BCHEX<br />
<br />
|-<br />
| 0C<br />
| 00?<br />
| colspan="2"| T°C max boiler<br />
| colspan="2"| T°C set point winter<br />
| <br />
<br />
|-<br />
| 0D<br />
| 00?<br />
| 00?<br />
| 00?<br />
| colspan="2"| T°C exterior<br />
| <br />
<br />
|-<br />
| 0E<br />
| Hour<br />
| Day<br />
| Minutes<br />
| FF?<br />
| FF?<br />
| <br />
<br />
<br />
|}<br />
<br />
== Resources ==<br />
<br />
* [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Wikipedia: Universal asynchronous receiver/transmitter]<br />
* [http://www.dedietrich-heating.com/index.php/products/product_ranges/floor_standing_boilers/oil_condensing_wingo dedietrich information]<br />
<br />
<br />
[[Category:Protocol decoder]]<br />
[[Category:UART]]</div>
Platypus
https://sigrok.org/w/index.php?title=Protocol_decoder:Easymatic&diff=12940
Protocol decoder:Easymatic
2017-11-21T13:39:43Z
<p>Platypus: /* details */</p>
<hr />
<div>{{Infobox protocol decoder<br />
| id = easymatic<br />
| name = EASYMATIC<br />
| description = Asynchronous, serial bus, differential<br />
| status = planned<br />
| license = GPLv2+<br />
| source_code_dir = uart<br />
| image = [[File:Easymatic.jpg|250px]]<br />
| input = logic<br />
| output = Easymatic protocol<br />
| probes = &mdash;<br />
| optional_probes = Thermostat, Boiler<br />
| options = invert_thermostat, invert_boiler<br />
}}<br />
<br />
The '''easymatic''' protocol decoder can decode the thermostat Easymatic bus protocol used by De Dietrich.<br />
<br />
== Hardware ==<br />
<br />
=== Differential link ===<br />
<br />
The easymatic is linked to the boiler with two wires. This link can feed power to the easymatic. Easymatic can have two R4 accu in order to save data if the power cut.<br />
Boiler power is a 24V modulated with communication power.<br />
<br />
Communication is always working.<br />
<br />
[To be confirmed]<br />
<br />
The hardware is similar to [https://en.wikipedia.org/wiki/OpenTherm OpenTherm Specifications] : <br />
- differential link<br />
- about 24V<br />
- tension modulation for boiler<br />
- intensity modulation for thermostat (easymatic) ?<br />
<br />
In order to link with a logic analyzer [[Saleae Logic]] an interface must be done.<br />
<br />
=== Electrical coding ===<br />
<br />
[To be define]<br />
<br />
=== Idle state ===<br />
<br />
[To be define]<br />
<br />
== Protocol ==<br />
<br />
=== Uart based ===<br />
<br />
Whereas [https://en.wikipedia.org/wiki/OpenTherm OpenTherm] use [https://en.wikipedia.org/wiki/Manchester_code Manchester code], the easymatic seems to be based on [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Universal Asynchronous Receiver Transmitter] (UART).<br />
It's a :<br />
- 1200 bauds communication.<br />
- 8 bits of data<br />
- no parity<br />
- one stop bit<br />
<br />
The bit order of the 8 data bits is LSB-first. <br />
<br />
=== details ===<br />
<br />
[To be discovered and detailed]<br />
<br />
Frames are repeated twice<br />
<br />
To be define : how an order is send<br />
<br />
All frame are composed by 6 bytes<br />
Boiler frames begin with a byte in 01, 03, 05, 07, 09, 0B, 0D<br />
Thermostat frames begin with a "boiler beginning frame +1" : 02, 04, 06, 08, 0A, 0C, 0E<br />
<br />
''Frame 0A/0B''<br />
<br />
{| class="wikitable" cellpadding="10"<br />
!Frame (first byte)<br />
!2sd byte<br />
!3th byte<br />
!4th byte<br />
!5th byte<br />
!6th byte<br />
!Comments<br />
<br />
|-<br />
| 0A<br />
| ?<br />
| colspan="2"|?<br />
| ?<br />
| ?<br />
| ?<br />
<br />
|-<br />
| 0B<br />
| ?<br />
| ?<br />
| ?<br />
| colspan="2"| T°C exterior<br />
| example : 70,0°C = 0700DEC = 02BCHEX<br />
<br />
|-<br />
| 0C<br />
| 00?<br />
| colspan="2"| T°C max boiler<br />
| colspan="2"| T°C set point winter<br />
| <br />
<br />
|-<br />
| 0D<br />
| 00?<br />
| 00?<br />
| 00?<br />
| colspan="2"| T°C exterior<br />
| <br />
| <br />
<br />
|-<br />
| 0E<br />
| Hour<br />
| Day<br />
| Minutes<br />
| FF?<br />
| FF?<br />
| <br />
<br />
<br />
|}<br />
<br />
== Resources ==<br />
<br />
* [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Wikipedia: Universal asynchronous receiver/transmitter]<br />
* [http://www.dedietrich-heating.com/index.php/products/product_ranges/floor_standing_boilers/oil_condensing_wingo dedietrich information]<br />
<br />
<br />
[[Category:Protocol decoder]]<br />
[[Category:UART]]</div>
Platypus
https://sigrok.org/w/index.php?title=Protocol_decoder:Easymatic&diff=12939
Protocol decoder:Easymatic
2017-11-21T13:36:37Z
<p>Platypus: /* details */</p>
<hr />
<div>{{Infobox protocol decoder<br />
| id = easymatic<br />
| name = EASYMATIC<br />
| description = Asynchronous, serial bus, differential<br />
| status = planned<br />
| license = GPLv2+<br />
| source_code_dir = uart<br />
| image = [[File:Easymatic.jpg|250px]]<br />
| input = logic<br />
| output = Easymatic protocol<br />
| probes = &mdash;<br />
| optional_probes = Thermostat, Boiler<br />
| options = invert_thermostat, invert_boiler<br />
}}<br />
<br />
The '''easymatic''' protocol decoder can decode the thermostat Easymatic bus protocol used by De Dietrich.<br />
<br />
== Hardware ==<br />
<br />
=== Differential link ===<br />
<br />
The easymatic is linked to the boiler with two wires. This link can feed power to the easymatic. Easymatic can have two R4 accu in order to save data if the power cut.<br />
Boiler power is a 24V modulated with communication power.<br />
<br />
Communication is always working.<br />
<br />
[To be confirmed]<br />
<br />
The hardware is similar to [https://en.wikipedia.org/wiki/OpenTherm OpenTherm Specifications] : <br />
- differential link<br />
- about 24V<br />
- tension modulation for boiler<br />
- intensity modulation for thermostat (easymatic) ?<br />
<br />
In order to link with a logic analyzer [[Saleae Logic]] an interface must be done.<br />
<br />
=== Electrical coding ===<br />
<br />
[To be define]<br />
<br />
=== Idle state ===<br />
<br />
[To be define]<br />
<br />
== Protocol ==<br />
<br />
=== Uart based ===<br />
<br />
Whereas [https://en.wikipedia.org/wiki/OpenTherm OpenTherm] use [https://en.wikipedia.org/wiki/Manchester_code Manchester code], the easymatic seems to be based on [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Universal Asynchronous Receiver Transmitter] (UART).<br />
It's a :<br />
- 1200 bauds communication.<br />
- 8 bits of data<br />
- no parity<br />
- one stop bit<br />
<br />
The bit order of the 8 data bits is LSB-first. <br />
<br />
=== details ===<br />
<br />
[To be discovered and detailed]<br />
<br />
Frames are repeated twice<br />
<br />
To be define : how an order is send<br />
<br />
All frame are composed by 6 bytes<br />
Boiler frames begin with a byte in 01, 03, 05, 07, 09, 0B, 0D<br />
Thermostat frames begin with a "boiler beginning frame +1" : 02, 04, 06, 08, 0A, 0C, 0E<br />
<br />
''Frame 0A/0B''<br />
<br />
{| class="wikitable" cellpadding="10"<br />
!Frame (first byte)<br />
!2sd byte<br />
!3th byte<br />
!4th byte<br />
!5th byte<br />
!6th byte<br />
!Comments<br />
<br />
|-<br />
| 0A<br />
| ?<br />
| colspan="2"|?<br />
| ?<br />
| ?<br />
| ?<br />
<br />
|-<br />
| 0B<br />
| ?<br />
| ?<br />
| ?<br />
| colspan="2"| T°C exterior<br />
| example : 70,0°C = 0700DEC = 02BCHEX<br />
<br />
|-<br />
| 0C<br />
| ?<br />
| colspan="2"| T°C max boiler<br />
| colspan="2"| T°C set point winter<br />
| <br />
<br />
|}<br />
<br />
== Resources ==<br />
<br />
* [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Wikipedia: Universal asynchronous receiver/transmitter]<br />
* [http://www.dedietrich-heating.com/index.php/products/product_ranges/floor_standing_boilers/oil_condensing_wingo dedietrich information]<br />
<br />
<br />
[[Category:Protocol decoder]]<br />
[[Category:UART]]</div>
Platypus
https://sigrok.org/w/index.php?title=Protocol_decoder:Easymatic&diff=12938
Protocol decoder:Easymatic
2017-11-21T13:34:55Z
<p>Platypus: /* details */</p>
<hr />
<div>{{Infobox protocol decoder<br />
| id = easymatic<br />
| name = EASYMATIC<br />
| description = Asynchronous, serial bus, differential<br />
| status = planned<br />
| license = GPLv2+<br />
| source_code_dir = uart<br />
| image = [[File:Easymatic.jpg|250px]]<br />
| input = logic<br />
| output = Easymatic protocol<br />
| probes = &mdash;<br />
| optional_probes = Thermostat, Boiler<br />
| options = invert_thermostat, invert_boiler<br />
}}<br />
<br />
The '''easymatic''' protocol decoder can decode the thermostat Easymatic bus protocol used by De Dietrich.<br />
<br />
== Hardware ==<br />
<br />
=== Differential link ===<br />
<br />
The easymatic is linked to the boiler with two wires. This link can feed power to the easymatic. Easymatic can have two R4 accu in order to save data if the power cut.<br />
Boiler power is a 24V modulated with communication power.<br />
<br />
Communication is always working.<br />
<br />
[To be confirmed]<br />
<br />
The hardware is similar to [https://en.wikipedia.org/wiki/OpenTherm OpenTherm Specifications] : <br />
- differential link<br />
- about 24V<br />
- tension modulation for boiler<br />
- intensity modulation for thermostat (easymatic) ?<br />
<br />
In order to link with a logic analyzer [[Saleae Logic]] an interface must be done.<br />
<br />
=== Electrical coding ===<br />
<br />
[To be define]<br />
<br />
=== Idle state ===<br />
<br />
[To be define]<br />
<br />
== Protocol ==<br />
<br />
=== Uart based ===<br />
<br />
Whereas [https://en.wikipedia.org/wiki/OpenTherm OpenTherm] use [https://en.wikipedia.org/wiki/Manchester_code Manchester code], the easymatic seems to be based on [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Universal Asynchronous Receiver Transmitter] (UART).<br />
It's a :<br />
- 1200 bauds communication.<br />
- 8 bits of data<br />
- no parity<br />
- one stop bit<br />
<br />
The bit order of the 8 data bits is LSB-first. <br />
<br />
=== details ===<br />
<br />
[To be discovered and detailed]<br />
<br />
Frames are repeated twice<br />
<br />
To be define : how an order is send<br />
<br />
All frame are composed by 6 bytes<br />
Boiler frames begin with a byte in 01, 03, 05, 07, 09, 0B, 0D<br />
Thermostat frames begin with a "boiler beginning frame +1" : 02, 04, 06, 08, 0A, 0C, 0E<br />
<br />
''Frame 0A/0B''<br />
<br />
{| class="wikitable" cellpadding="10"<br />
!Frame (first byte)<br />
!2sd byte<br />
!3th byte<br />
!4th byte<br />
!5th byte<br />
!6th byte<br />
!Comments<br />
<br />
|-<br />
| 0A<br />
| ?<br />
| colspan="2"|?<br />
| ?<br />
| ?<br />
| ?<br />
<br />
|-<br />
| 0B<br />
| ?<br />
| ?<br />
| ?<br />
| colspan="2"| T°C exterior<br />
| exemple : 70,0°C = 0700DEC = 02BCHEX<br />
<br />
|}<br />
<br />
== Resources ==<br />
<br />
* [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Wikipedia: Universal asynchronous receiver/transmitter]<br />
* [http://www.dedietrich-heating.com/index.php/products/product_ranges/floor_standing_boilers/oil_condensing_wingo dedietrich information]<br />
<br />
<br />
[[Category:Protocol decoder]]<br />
[[Category:UART]]</div>
Platypus
https://sigrok.org/w/index.php?title=Protocol_decoder:Easymatic&diff=12937
Protocol decoder:Easymatic
2017-11-21T13:33:25Z
<p>Platypus: /* details */</p>
<hr />
<div>{{Infobox protocol decoder<br />
| id = easymatic<br />
| name = EASYMATIC<br />
| description = Asynchronous, serial bus, differential<br />
| status = planned<br />
| license = GPLv2+<br />
| source_code_dir = uart<br />
| image = [[File:Easymatic.jpg|250px]]<br />
| input = logic<br />
| output = Easymatic protocol<br />
| probes = &mdash;<br />
| optional_probes = Thermostat, Boiler<br />
| options = invert_thermostat, invert_boiler<br />
}}<br />
<br />
The '''easymatic''' protocol decoder can decode the thermostat Easymatic bus protocol used by De Dietrich.<br />
<br />
== Hardware ==<br />
<br />
=== Differential link ===<br />
<br />
The easymatic is linked to the boiler with two wires. This link can feed power to the easymatic. Easymatic can have two R4 accu in order to save data if the power cut.<br />
Boiler power is a 24V modulated with communication power.<br />
<br />
Communication is always working.<br />
<br />
[To be confirmed]<br />
<br />
The hardware is similar to [https://en.wikipedia.org/wiki/OpenTherm OpenTherm Specifications] : <br />
- differential link<br />
- about 24V<br />
- tension modulation for boiler<br />
- intensity modulation for thermostat (easymatic) ?<br />
<br />
In order to link with a logic analyzer [[Saleae Logic]] an interface must be done.<br />
<br />
=== Electrical coding ===<br />
<br />
[To be define]<br />
<br />
=== Idle state ===<br />
<br />
[To be define]<br />
<br />
== Protocol ==<br />
<br />
=== Uart based ===<br />
<br />
Whereas [https://en.wikipedia.org/wiki/OpenTherm OpenTherm] use [https://en.wikipedia.org/wiki/Manchester_code Manchester code], the easymatic seems to be based on [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Universal Asynchronous Receiver Transmitter] (UART).<br />
It's a :<br />
- 1200 bauds communication.<br />
- 8 bits of data<br />
- no parity<br />
- one stop bit<br />
<br />
The bit order of the 8 data bits is LSB-first. <br />
<br />
=== details ===<br />
<br />
[To be discovered and detailed]<br />
<br />
Frames are repeated twice<br />
<br />
To be define : how an order is send<br />
<br />
All frame are composed by 6 bytes<br />
Boiler frames begin with a byte in 01, 03, 05, 07, 09, 0B, 0D<br />
Thermostat frames begin with a "boiler beginning frame +1" : 02, 04, 06, 08, 0A, 0C, 0E<br />
<br />
''Frame 0A/0B''<br />
<br />
{| class="wikitable" cellpadding="10"<br />
!Frame (first byte)<br />
!2sd byte<br />
!3th byte<br />
!4th byte<br />
!5th byte<br />
!6th byte<br />
!Comments<br />
<br />
|-<br />
| 0A<br />
| ?<br />
| colspan="2"|?<br />
| ?<br />
| ?<br />
| ?<br />
<br />
|-<br />
| 0B<br />
| ?<br />
| ?<br />
| ?<br />
| colspan="2"| T°C exterior<br />
| <br />
<br />
|}<br />
<br />
== Resources ==<br />
<br />
* [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Wikipedia: Universal asynchronous receiver/transmitter]<br />
* [http://www.dedietrich-heating.com/index.php/products/product_ranges/floor_standing_boilers/oil_condensing_wingo dedietrich information]<br />
<br />
<br />
[[Category:Protocol decoder]]<br />
[[Category:UART]]</div>
Platypus
https://sigrok.org/w/index.php?title=Protocol_decoder:Easymatic&diff=12936
Protocol decoder:Easymatic
2017-11-21T13:33:08Z
<p>Platypus: /* details */</p>
<hr />
<div>{{Infobox protocol decoder<br />
| id = easymatic<br />
| name = EASYMATIC<br />
| description = Asynchronous, serial bus, differential<br />
| status = planned<br />
| license = GPLv2+<br />
| source_code_dir = uart<br />
| image = [[File:Easymatic.jpg|250px]]<br />
| input = logic<br />
| output = Easymatic protocol<br />
| probes = &mdash;<br />
| optional_probes = Thermostat, Boiler<br />
| options = invert_thermostat, invert_boiler<br />
}}<br />
<br />
The '''easymatic''' protocol decoder can decode the thermostat Easymatic bus protocol used by De Dietrich.<br />
<br />
== Hardware ==<br />
<br />
=== Differential link ===<br />
<br />
The easymatic is linked to the boiler with two wires. This link can feed power to the easymatic. Easymatic can have two R4 accu in order to save data if the power cut.<br />
Boiler power is a 24V modulated with communication power.<br />
<br />
Communication is always working.<br />
<br />
[To be confirmed]<br />
<br />
The hardware is similar to [https://en.wikipedia.org/wiki/OpenTherm OpenTherm Specifications] : <br />
- differential link<br />
- about 24V<br />
- tension modulation for boiler<br />
- intensity modulation for thermostat (easymatic) ?<br />
<br />
In order to link with a logic analyzer [[Saleae Logic]] an interface must be done.<br />
<br />
=== Electrical coding ===<br />
<br />
[To be define]<br />
<br />
=== Idle state ===<br />
<br />
[To be define]<br />
<br />
== Protocol ==<br />
<br />
=== Uart based ===<br />
<br />
Whereas [https://en.wikipedia.org/wiki/OpenTherm OpenTherm] use [https://en.wikipedia.org/wiki/Manchester_code Manchester code], the easymatic seems to be based on [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Universal Asynchronous Receiver Transmitter] (UART).<br />
It's a :<br />
- 1200 bauds communication.<br />
- 8 bits of data<br />
- no parity<br />
- one stop bit<br />
<br />
The bit order of the 8 data bits is LSB-first. <br />
<br />
=== details ===<br />
<br />
[To be discovered and detailed]<br />
<br />
Frames are repeated twice<br />
<br />
To be define : how an order is send<br />
<br />
All frame are composed by 6 bytes<br />
Boiler frames begin with a byte in 01, 03, 05, 07, 09, 0B, 0D<br />
Thermostat frames begin with a "boiler beginning frame +1" : 02, 04, 06, 08, 0A, 0C, 0E<br />
<br />
''Frame 0A/0B''<br />
<br />
{| class="wikitable" cellpadding="10"<br />
!Frame (first byte)<br />
!2sd byte<br />
!3th byte<br />
!4th byte<br />
!5th byte<br />
!6th byte<br />
!Comments<br />
<br />
|-<br />
| 0A<br />
| ?<br />
| colspan="2"|?<br />
| ?<br />
| ?<br />
| ?<br />
<br />
|-<br />
| 0B<br />
| ?<br />
| ?<br />
| ?<br />
| ?<br />
| colspan="2"| T°C exterior<br />
<br />
<br />
|}<br />
<br />
== Resources ==<br />
<br />
* [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Wikipedia: Universal asynchronous receiver/transmitter]<br />
* [http://www.dedietrich-heating.com/index.php/products/product_ranges/floor_standing_boilers/oil_condensing_wingo dedietrich information]<br />
<br />
<br />
[[Category:Protocol decoder]]<br />
[[Category:UART]]</div>
Platypus
https://sigrok.org/w/index.php?title=Protocol_decoder:Easymatic&diff=12935
Protocol decoder:Easymatic
2017-11-21T13:32:05Z
<p>Platypus: /* details */</p>
<hr />
<div>{{Infobox protocol decoder<br />
| id = easymatic<br />
| name = EASYMATIC<br />
| description = Asynchronous, serial bus, differential<br />
| status = planned<br />
| license = GPLv2+<br />
| source_code_dir = uart<br />
| image = [[File:Easymatic.jpg|250px]]<br />
| input = logic<br />
| output = Easymatic protocol<br />
| probes = &mdash;<br />
| optional_probes = Thermostat, Boiler<br />
| options = invert_thermostat, invert_boiler<br />
}}<br />
<br />
The '''easymatic''' protocol decoder can decode the thermostat Easymatic bus protocol used by De Dietrich.<br />
<br />
== Hardware ==<br />
<br />
=== Differential link ===<br />
<br />
The easymatic is linked to the boiler with two wires. This link can feed power to the easymatic. Easymatic can have two R4 accu in order to save data if the power cut.<br />
Boiler power is a 24V modulated with communication power.<br />
<br />
Communication is always working.<br />
<br />
[To be confirmed]<br />
<br />
The hardware is similar to [https://en.wikipedia.org/wiki/OpenTherm OpenTherm Specifications] : <br />
- differential link<br />
- about 24V<br />
- tension modulation for boiler<br />
- intensity modulation for thermostat (easymatic) ?<br />
<br />
In order to link with a logic analyzer [[Saleae Logic]] an interface must be done.<br />
<br />
=== Electrical coding ===<br />
<br />
[To be define]<br />
<br />
=== Idle state ===<br />
<br />
[To be define]<br />
<br />
== Protocol ==<br />
<br />
=== Uart based ===<br />
<br />
Whereas [https://en.wikipedia.org/wiki/OpenTherm OpenTherm] use [https://en.wikipedia.org/wiki/Manchester_code Manchester code], the easymatic seems to be based on [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Universal Asynchronous Receiver Transmitter] (UART).<br />
It's a :<br />
- 1200 bauds communication.<br />
- 8 bits of data<br />
- no parity<br />
- one stop bit<br />
<br />
The bit order of the 8 data bits is LSB-first. <br />
<br />
=== details ===<br />
<br />
[To be discovered and detailed]<br />
<br />
Frames are repeated twice<br />
<br />
To be define : how an order is send<br />
<br />
All frame are composed by 6 bytes<br />
Boiler frames begin with a byte in 01, 03, 05, 07, 09, 0B, 0D<br />
Thermostat frames begin with a "boiler beginning frame +1" : 02, 04, 06, 08, 0A, 0C, 0E<br />
<br />
''Frame 0A/0B''<br />
<br />
{| class="wikitable" cellpadding="10"<br />
!Frame (first byte)<br />
!2sd byte<br />
!3th byte<br />
!4th byte<br />
!5th byte<br />
!6th byte<br />
!Comments<br />
<br />
|-<br />
| 0A<br />
| ?<br />
| colspan="2"|?<br />
| ?<br />
| ?<br />
| ?<br />
<br />
|-<br />
| 0B<br />
| ?<br />
| ?<br />
| colspan="2"|?<br />
| ?<br />
<br />
|}<br />
<br />
== Resources ==<br />
<br />
* [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Wikipedia: Universal asynchronous receiver/transmitter]<br />
* [http://www.dedietrich-heating.com/index.php/products/product_ranges/floor_standing_boilers/oil_condensing_wingo dedietrich information]<br />
<br />
<br />
[[Category:Protocol decoder]]<br />
[[Category:UART]]</div>
Platypus
https://sigrok.org/w/index.php?title=Protocol_decoder:Easymatic&diff=12934
Protocol decoder:Easymatic
2017-11-21T13:29:53Z
<p>Platypus: /* details */</p>
<hr />
<div>{{Infobox protocol decoder<br />
| id = easymatic<br />
| name = EASYMATIC<br />
| description = Asynchronous, serial bus, differential<br />
| status = planned<br />
| license = GPLv2+<br />
| source_code_dir = uart<br />
| image = [[File:Easymatic.jpg|250px]]<br />
| input = logic<br />
| output = Easymatic protocol<br />
| probes = &mdash;<br />
| optional_probes = Thermostat, Boiler<br />
| options = invert_thermostat, invert_boiler<br />
}}<br />
<br />
The '''easymatic''' protocol decoder can decode the thermostat Easymatic bus protocol used by De Dietrich.<br />
<br />
== Hardware ==<br />
<br />
=== Differential link ===<br />
<br />
The easymatic is linked to the boiler with two wires. This link can feed power to the easymatic. Easymatic can have two R4 accu in order to save data if the power cut.<br />
Boiler power is a 24V modulated with communication power.<br />
<br />
Communication is always working.<br />
<br />
[To be confirmed]<br />
<br />
The hardware is similar to [https://en.wikipedia.org/wiki/OpenTherm OpenTherm Specifications] : <br />
- differential link<br />
- about 24V<br />
- tension modulation for boiler<br />
- intensity modulation for thermostat (easymatic) ?<br />
<br />
In order to link with a logic analyzer [[Saleae Logic]] an interface must be done.<br />
<br />
=== Electrical coding ===<br />
<br />
[To be define]<br />
<br />
=== Idle state ===<br />
<br />
[To be define]<br />
<br />
== Protocol ==<br />
<br />
=== Uart based ===<br />
<br />
Whereas [https://en.wikipedia.org/wiki/OpenTherm OpenTherm] use [https://en.wikipedia.org/wiki/Manchester_code Manchester code], the easymatic seems to be based on [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Universal Asynchronous Receiver Transmitter] (UART).<br />
It's a :<br />
- 1200 bauds communication.<br />
- 8 bits of data<br />
- no parity<br />
- one stop bit<br />
<br />
The bit order of the 8 data bits is LSB-first. <br />
<br />
=== details ===<br />
<br />
[To be discovered and detailed]<br />
<br />
Frames are repeated twice<br />
<br />
To be define : how an order is send<br />
<br />
All frame are composed by 6 bytes<br />
Boiler frames begin with a byte in 01, 03, 05, 07, 09, 0B, 0D<br />
Thermostat frames begin with a "boiler beginning frame +1" : 02, 04, 06, 08, 0A, 0C, 0E<br />
<br />
''Frame 0A/0B''<br />
<br />
{| class="wikitable" cellpadding="10"<br />
!Frame (first byte)<br />
!2sd byte<br />
!3th byte<br />
!4th byte<br />
!5th byte<br />
!6th byte<br />
!Comments<br />
<br />
<br />
|-<br />
| 0A/0B<br />
| ?<br />
| colspan="2"|?<br />
| ?<br />
| ?<br />
| ?<br />
|}<br />
<br />
== Resources ==<br />
<br />
* [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Wikipedia: Universal asynchronous receiver/transmitter]<br />
* [http://www.dedietrich-heating.com/index.php/products/product_ranges/floor_standing_boilers/oil_condensing_wingo dedietrich information]<br />
<br />
<br />
[[Category:Protocol decoder]]<br />
[[Category:UART]]</div>
Platypus
https://sigrok.org/w/index.php?title=Protocol_decoder:Easymatic&diff=12933
Protocol decoder:Easymatic
2017-11-21T13:29:35Z
<p>Platypus: /* details */</p>
<hr />
<div>{{Infobox protocol decoder<br />
| id = easymatic<br />
| name = EASYMATIC<br />
| description = Asynchronous, serial bus, differential<br />
| status = planned<br />
| license = GPLv2+<br />
| source_code_dir = uart<br />
| image = [[File:Easymatic.jpg|250px]]<br />
| input = logic<br />
| output = Easymatic protocol<br />
| probes = &mdash;<br />
| optional_probes = Thermostat, Boiler<br />
| options = invert_thermostat, invert_boiler<br />
}}<br />
<br />
The '''easymatic''' protocol decoder can decode the thermostat Easymatic bus protocol used by De Dietrich.<br />
<br />
== Hardware ==<br />
<br />
=== Differential link ===<br />
<br />
The easymatic is linked to the boiler with two wires. This link can feed power to the easymatic. Easymatic can have two R4 accu in order to save data if the power cut.<br />
Boiler power is a 24V modulated with communication power.<br />
<br />
Communication is always working.<br />
<br />
[To be confirmed]<br />
<br />
The hardware is similar to [https://en.wikipedia.org/wiki/OpenTherm OpenTherm Specifications] : <br />
- differential link<br />
- about 24V<br />
- tension modulation for boiler<br />
- intensity modulation for thermostat (easymatic) ?<br />
<br />
In order to link with a logic analyzer [[Saleae Logic]] an interface must be done.<br />
<br />
=== Electrical coding ===<br />
<br />
[To be define]<br />
<br />
=== Idle state ===<br />
<br />
[To be define]<br />
<br />
== Protocol ==<br />
<br />
=== Uart based ===<br />
<br />
Whereas [https://en.wikipedia.org/wiki/OpenTherm OpenTherm] use [https://en.wikipedia.org/wiki/Manchester_code Manchester code], the easymatic seems to be based on [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Universal Asynchronous Receiver Transmitter] (UART).<br />
It's a :<br />
- 1200 bauds communication.<br />
- 8 bits of data<br />
- no parity<br />
- one stop bit<br />
<br />
The bit order of the 8 data bits is LSB-first. <br />
<br />
=== details ===<br />
<br />
[To be discovered and detailed]<br />
<br />
Frames are repeated twice<br />
<br />
To be define : how an order is send<br />
<br />
All frame are composed by 6 bytes<br />
Boiler frames begin with a byte in 01, 03, 05, 07, 09, 0B, 0D<br />
Thermostat frames begin with a "boiler beginning frame +1" : 02, 04, 06, 08, 0A, 0C, 0E<br />
<br />
''Frame 0A/0B''<br />
<br />
{| class="wikitable" cellpadding="10"<br />
!Frame (first byte)<br />
!2sd byte<br />
!3th byte<br />
!4th byte<br />
!5th byte<br />
!6th byte<br />
!Comments<br />
<br />
<br />
|-<br />
| 0A/0B<br />
| ?<br />
| colspan="2"|?<br />
| ?<br />
| ?<br />
| ?<br />
| ?<br />
|}<br />
<br />
== Resources ==<br />
<br />
* [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Wikipedia: Universal asynchronous receiver/transmitter]<br />
* [http://www.dedietrich-heating.com/index.php/products/product_ranges/floor_standing_boilers/oil_condensing_wingo dedietrich information]<br />
<br />
<br />
[[Category:Protocol decoder]]<br />
[[Category:UART]]</div>
Platypus
https://sigrok.org/w/index.php?title=Protocol_decoder:Easymatic&diff=12932
Protocol decoder:Easymatic
2017-11-21T13:29:19Z
<p>Platypus: /* details */</p>
<hr />
<div>{{Infobox protocol decoder<br />
| id = easymatic<br />
| name = EASYMATIC<br />
| description = Asynchronous, serial bus, differential<br />
| status = planned<br />
| license = GPLv2+<br />
| source_code_dir = uart<br />
| image = [[File:Easymatic.jpg|250px]]<br />
| input = logic<br />
| output = Easymatic protocol<br />
| probes = &mdash;<br />
| optional_probes = Thermostat, Boiler<br />
| options = invert_thermostat, invert_boiler<br />
}}<br />
<br />
The '''easymatic''' protocol decoder can decode the thermostat Easymatic bus protocol used by De Dietrich.<br />
<br />
== Hardware ==<br />
<br />
=== Differential link ===<br />
<br />
The easymatic is linked to the boiler with two wires. This link can feed power to the easymatic. Easymatic can have two R4 accu in order to save data if the power cut.<br />
Boiler power is a 24V modulated with communication power.<br />
<br />
Communication is always working.<br />
<br />
[To be confirmed]<br />
<br />
The hardware is similar to [https://en.wikipedia.org/wiki/OpenTherm OpenTherm Specifications] : <br />
- differential link<br />
- about 24V<br />
- tension modulation for boiler<br />
- intensity modulation for thermostat (easymatic) ?<br />
<br />
In order to link with a logic analyzer [[Saleae Logic]] an interface must be done.<br />
<br />
=== Electrical coding ===<br />
<br />
[To be define]<br />
<br />
=== Idle state ===<br />
<br />
[To be define]<br />
<br />
== Protocol ==<br />
<br />
=== Uart based ===<br />
<br />
Whereas [https://en.wikipedia.org/wiki/OpenTherm OpenTherm] use [https://en.wikipedia.org/wiki/Manchester_code Manchester code], the easymatic seems to be based on [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Universal Asynchronous Receiver Transmitter] (UART).<br />
It's a :<br />
- 1200 bauds communication.<br />
- 8 bits of data<br />
- no parity<br />
- one stop bit<br />
<br />
The bit order of the 8 data bits is LSB-first. <br />
<br />
=== details ===<br />
<br />
[To be discovered and detailed]<br />
<br />
Frames are repeated twice<br />
<br />
To be define : how an order is send<br />
<br />
All frame are composed by 6 bytes<br />
Boiler frames begin with a byte in 01, 03, 05, 07, 09, 0B, 0D<br />
Thermostat frames begin with a "boiler beginning frame +1" : 02, 04, 06, 08, 0A, 0C, 0E<br />
<br />
''Frame 0A/0B''<br />
<br />
{| class="wikitable" cellpadding="10"<br />
!Frame (first byte)<br />
!2sd byte<br />
!3th byte<br />
!4th byte<br />
!5th byte<br />
!6th byte<br />
!Comments<br />
<br />
<br />
|-<br />
| 0A/0B<br />
| ?<br />
| colspan="2"|?<br />
| ?<br />
| ?<br />
| ?<br />
|}<br />
<br />
== Resources ==<br />
<br />
* [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Wikipedia: Universal asynchronous receiver/transmitter]<br />
* [http://www.dedietrich-heating.com/index.php/products/product_ranges/floor_standing_boilers/oil_condensing_wingo dedietrich information]<br />
<br />
<br />
[[Category:Protocol decoder]]<br />
[[Category:UART]]</div>
Platypus
https://sigrok.org/w/index.php?title=Protocol_decoder:Easymatic&diff=12931
Protocol decoder:Easymatic
2017-11-21T13:25:34Z
<p>Platypus: /* details */</p>
<hr />
<div>{{Infobox protocol decoder<br />
| id = easymatic<br />
| name = EASYMATIC<br />
| description = Asynchronous, serial bus, differential<br />
| status = planned<br />
| license = GPLv2+<br />
| source_code_dir = uart<br />
| image = [[File:Easymatic.jpg|250px]]<br />
| input = logic<br />
| output = Easymatic protocol<br />
| probes = &mdash;<br />
| optional_probes = Thermostat, Boiler<br />
| options = invert_thermostat, invert_boiler<br />
}}<br />
<br />
The '''easymatic''' protocol decoder can decode the thermostat Easymatic bus protocol used by De Dietrich.<br />
<br />
== Hardware ==<br />
<br />
=== Differential link ===<br />
<br />
The easymatic is linked to the boiler with two wires. This link can feed power to the easymatic. Easymatic can have two R4 accu in order to save data if the power cut.<br />
Boiler power is a 24V modulated with communication power.<br />
<br />
Communication is always working.<br />
<br />
[To be confirmed]<br />
<br />
The hardware is similar to [https://en.wikipedia.org/wiki/OpenTherm OpenTherm Specifications] : <br />
- differential link<br />
- about 24V<br />
- tension modulation for boiler<br />
- intensity modulation for thermostat (easymatic) ?<br />
<br />
In order to link with a logic analyzer [[Saleae Logic]] an interface must be done.<br />
<br />
=== Electrical coding ===<br />
<br />
[To be define]<br />
<br />
=== Idle state ===<br />
<br />
[To be define]<br />
<br />
== Protocol ==<br />
<br />
=== Uart based ===<br />
<br />
Whereas [https://en.wikipedia.org/wiki/OpenTherm OpenTherm] use [https://en.wikipedia.org/wiki/Manchester_code Manchester code], the easymatic seems to be based on [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Universal Asynchronous Receiver Transmitter] (UART).<br />
It's a :<br />
- 1200 bauds communication.<br />
- 8 bits of data<br />
- no parity<br />
- one stop bit<br />
<br />
The bit order of the 8 data bits is LSB-first. <br />
<br />
=== details ===<br />
<br />
[To be discovered and detailed]<br />
<br />
Frames are repeated twice<br />
<br />
To be define : how an order is send<br />
<br />
All frame are composed by 6 bytes<br />
Boiler frames begin with a byte in 01, 03, 05, 07, 09, 0B, 0D<br />
Thermostat frames begin with a "boiler beginning frame +1" : 02, 04, 06, 08, 0A, 0C, 0E<br />
<br />
''Frame 0A/0B''<br />
<br />
{| class="wikitable"<br />
!Frame (first byte)<br />
!2sd byte<br />
!3th byte<br />
!4th byte<br />
!5th byte<br />
!6th byte<br />
!Comments<br />
<br />
<br />
|-<br />
| 0A/0B<br />
| ?<br />
| colspan="2"|?<br />
| ?<br />
| ?<br />
| ?<br />
|}<br />
<br />
== Resources ==<br />
<br />
* [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Wikipedia: Universal asynchronous receiver/transmitter]<br />
* [http://www.dedietrich-heating.com/index.php/products/product_ranges/floor_standing_boilers/oil_condensing_wingo dedietrich information]<br />
<br />
<br />
[[Category:Protocol decoder]]<br />
[[Category:UART]]</div>
Platypus
https://sigrok.org/w/index.php?title=Protocol_decoder:Easymatic&diff=12930
Protocol decoder:Easymatic
2017-11-21T13:25:18Z
<p>Platypus: /* details */</p>
<hr />
<div>{{Infobox protocol decoder<br />
| id = easymatic<br />
| name = EASYMATIC<br />
| description = Asynchronous, serial bus, differential<br />
| status = planned<br />
| license = GPLv2+<br />
| source_code_dir = uart<br />
| image = [[File:Easymatic.jpg|250px]]<br />
| input = logic<br />
| output = Easymatic protocol<br />
| probes = &mdash;<br />
| optional_probes = Thermostat, Boiler<br />
| options = invert_thermostat, invert_boiler<br />
}}<br />
<br />
The '''easymatic''' protocol decoder can decode the thermostat Easymatic bus protocol used by De Dietrich.<br />
<br />
== Hardware ==<br />
<br />
=== Differential link ===<br />
<br />
The easymatic is linked to the boiler with two wires. This link can feed power to the easymatic. Easymatic can have two R4 accu in order to save data if the power cut.<br />
Boiler power is a 24V modulated with communication power.<br />
<br />
Communication is always working.<br />
<br />
[To be confirmed]<br />
<br />
The hardware is similar to [https://en.wikipedia.org/wiki/OpenTherm OpenTherm Specifications] : <br />
- differential link<br />
- about 24V<br />
- tension modulation for boiler<br />
- intensity modulation for thermostat (easymatic) ?<br />
<br />
In order to link with a logic analyzer [[Saleae Logic]] an interface must be done.<br />
<br />
=== Electrical coding ===<br />
<br />
[To be define]<br />
<br />
=== Idle state ===<br />
<br />
[To be define]<br />
<br />
== Protocol ==<br />
<br />
=== Uart based ===<br />
<br />
Whereas [https://en.wikipedia.org/wiki/OpenTherm OpenTherm] use [https://en.wikipedia.org/wiki/Manchester_code Manchester code], the easymatic seems to be based on [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Universal Asynchronous Receiver Transmitter] (UART).<br />
It's a :<br />
- 1200 bauds communication.<br />
- 8 bits of data<br />
- no parity<br />
- one stop bit<br />
<br />
The bit order of the 8 data bits is LSB-first. <br />
<br />
=== details ===<br />
<br />
[To be discovered and detailed]<br />
<br />
Frames are repeated twice<br />
<br />
To be define : how an order is send<br />
<br />
All frame are composed by 6 bytes<br />
Boiler frames begin with a byte in 01, 03, 05, 07, 09, 0B, 0D<br />
Thermostat frames begin with a "boiler beginning frame +1" : 02, 04, 06, 08, 0A, 0C, 0E<br />
<br />
''Frame 0A/0B''<br />
<br />
{|<br />
!Frame (first byte)<br />
!2sd byte<br />
!3th byte<br />
!4th byte<br />
!5th byte<br />
!6th byte<br />
!Comments<br />
<br />
<br />
|-<br />
| 0A/0B<br />
| ?<br />
| colspan="2"|?<br />
| ?<br />
| ?<br />
| ?<br />
|}<br />
<br />
== Resources ==<br />
<br />
* [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Wikipedia: Universal asynchronous receiver/transmitter]<br />
* [http://www.dedietrich-heating.com/index.php/products/product_ranges/floor_standing_boilers/oil_condensing_wingo dedietrich information]<br />
<br />
<br />
[[Category:Protocol decoder]]<br />
[[Category:UART]]</div>
Platypus
https://sigrok.org/w/index.php?title=Protocol_decoder:Easymatic&diff=12929
Protocol decoder:Easymatic
2017-11-21T13:24:39Z
<p>Platypus: /* details */</p>
<hr />
<div>{{Infobox protocol decoder<br />
| id = easymatic<br />
| name = EASYMATIC<br />
| description = Asynchronous, serial bus, differential<br />
| status = planned<br />
| license = GPLv2+<br />
| source_code_dir = uart<br />
| image = [[File:Easymatic.jpg|250px]]<br />
| input = logic<br />
| output = Easymatic protocol<br />
| probes = &mdash;<br />
| optional_probes = Thermostat, Boiler<br />
| options = invert_thermostat, invert_boiler<br />
}}<br />
<br />
The '''easymatic''' protocol decoder can decode the thermostat Easymatic bus protocol used by De Dietrich.<br />
<br />
== Hardware ==<br />
<br />
=== Differential link ===<br />
<br />
The easymatic is linked to the boiler with two wires. This link can feed power to the easymatic. Easymatic can have two R4 accu in order to save data if the power cut.<br />
Boiler power is a 24V modulated with communication power.<br />
<br />
Communication is always working.<br />
<br />
[To be confirmed]<br />
<br />
The hardware is similar to [https://en.wikipedia.org/wiki/OpenTherm OpenTherm Specifications] : <br />
- differential link<br />
- about 24V<br />
- tension modulation for boiler<br />
- intensity modulation for thermostat (easymatic) ?<br />
<br />
In order to link with a logic analyzer [[Saleae Logic]] an interface must be done.<br />
<br />
=== Electrical coding ===<br />
<br />
[To be define]<br />
<br />
=== Idle state ===<br />
<br />
[To be define]<br />
<br />
== Protocol ==<br />
<br />
=== Uart based ===<br />
<br />
Whereas [https://en.wikipedia.org/wiki/OpenTherm OpenTherm] use [https://en.wikipedia.org/wiki/Manchester_code Manchester code], the easymatic seems to be based on [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Universal Asynchronous Receiver Transmitter] (UART).<br />
It's a :<br />
- 1200 bauds communication.<br />
- 8 bits of data<br />
- no parity<br />
- one stop bit<br />
<br />
The bit order of the 8 data bits is LSB-first. <br />
<br />
=== details ===<br />
<br />
[To be discovered and detailed]<br />
<br />
Frames are repeated twice<br />
<br />
To be define : how an order is send<br />
<br />
All frame are composed by 6 bytes<br />
Boiler frames begin with a byte in 01, 03, 05, 07, 09, 0B, 0D<br />
Thermostat frames begin with a "boiler beginning frame +1" : 02, 04, 06, 08, 0A, 0C, 0E<br />
<br />
''Frame 0A/0B''<br />
<br />
{|-<br />
!Frame (first byte)<br />
!2sd byte<br />
!3th byte<br />
!4th byte<br />
!5th byte<br />
!6th byte<br />
!Comments<br />
<br />
<br />
|-<br />
| 0A/0B<br />
| ?<br />
| colspan="2"|?<br />
| ?<br />
| ?<br />
| ?<br />
|}<br />
<br />
== Resources ==<br />
<br />
* [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Wikipedia: Universal asynchronous receiver/transmitter]<br />
* [http://www.dedietrich-heating.com/index.php/products/product_ranges/floor_standing_boilers/oil_condensing_wingo dedietrich information]<br />
<br />
<br />
[[Category:Protocol decoder]]<br />
[[Category:UART]]</div>
Platypus
https://sigrok.org/w/index.php?title=Protocol_decoder:Easymatic&diff=12928
Protocol decoder:Easymatic
2017-11-21T13:08:32Z
<p>Platypus: /* details */</p>
<hr />
<div>{{Infobox protocol decoder<br />
| id = easymatic<br />
| name = EASYMATIC<br />
| description = Asynchronous, serial bus, differential<br />
| status = planned<br />
| license = GPLv2+<br />
| source_code_dir = uart<br />
| image = [[File:Easymatic.jpg|250px]]<br />
| input = logic<br />
| output = Easymatic protocol<br />
| probes = &mdash;<br />
| optional_probes = Thermostat, Boiler<br />
| options = invert_thermostat, invert_boiler<br />
}}<br />
<br />
The '''easymatic''' protocol decoder can decode the thermostat Easymatic bus protocol used by De Dietrich.<br />
<br />
== Hardware ==<br />
<br />
=== Differential link ===<br />
<br />
The easymatic is linked to the boiler with two wires. This link can feed power to the easymatic. Easymatic can have two R4 accu in order to save data if the power cut.<br />
Boiler power is a 24V modulated with communication power.<br />
<br />
Communication is always working.<br />
<br />
[To be confirmed]<br />
<br />
The hardware is similar to [https://en.wikipedia.org/wiki/OpenTherm OpenTherm Specifications] : <br />
- differential link<br />
- about 24V<br />
- tension modulation for boiler<br />
- intensity modulation for thermostat (easymatic) ?<br />
<br />
In order to link with a logic analyzer [[Saleae Logic]] an interface must be done.<br />
<br />
=== Electrical coding ===<br />
<br />
[To be define]<br />
<br />
=== Idle state ===<br />
<br />
[To be define]<br />
<br />
== Protocol ==<br />
<br />
=== Uart based ===<br />
<br />
Whereas [https://en.wikipedia.org/wiki/OpenTherm OpenTherm] use [https://en.wikipedia.org/wiki/Manchester_code Manchester code], the easymatic seems to be based on [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Universal Asynchronous Receiver Transmitter] (UART).<br />
It's a :<br />
- 1200 bauds communication.<br />
- 8 bits of data<br />
- no parity<br />
- one stop bit<br />
<br />
The bit order of the 8 data bits is LSB-first. <br />
<br />
=== details ===<br />
<br />
[To be discovered and detailed]<br />
<br />
Frames are repeated twice<br />
<br />
To be define : how an order is send<br />
<br />
All frame are composed by 6 bytes<br />
Boiler frames begin with a byte in 01, 03, 05, 07, 09, 0B, 0D<br />
Thermostat frames begin with a "boiler beginning frame +1" : 02, 04, 06, 08, 0A, 0C, 0E<br />
<br />
''Frame 0A/0B''<br />
<br />
{|-<br />
!Frame (first byte)<br />
!2sd byte<br />
!3th byte<br />
!4th byte<br />
!5th byte<br />
!6th byte<br />
!Comments<br />
<br />
<br />
|-<br />
| 0A/0B<br />
| ?<br />
| colspan="2"|<br />
| ?<br />
| ?<br />
| ?<br />
|}<br />
<br />
== Resources ==<br />
<br />
* [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Wikipedia: Universal asynchronous receiver/transmitter]<br />
* [http://www.dedietrich-heating.com/index.php/products/product_ranges/floor_standing_boilers/oil_condensing_wingo dedietrich information]<br />
<br />
<br />
[[Category:Protocol decoder]]<br />
[[Category:UART]]</div>
Platypus
https://sigrok.org/w/index.php?title=Protocol_decoder:Easymatic&diff=12927
Protocol decoder:Easymatic
2017-11-21T12:50:34Z
<p>Platypus: /* Differential link */</p>
<hr />
<div>{{Infobox protocol decoder<br />
| id = easymatic<br />
| name = EASYMATIC<br />
| description = Asynchronous, serial bus, differential<br />
| status = planned<br />
| license = GPLv2+<br />
| source_code_dir = uart<br />
| image = [[File:Easymatic.jpg|250px]]<br />
| input = logic<br />
| output = Easymatic protocol<br />
| probes = &mdash;<br />
| optional_probes = Thermostat, Boiler<br />
| options = invert_thermostat, invert_boiler<br />
}}<br />
<br />
The '''easymatic''' protocol decoder can decode the thermostat Easymatic bus protocol used by De Dietrich.<br />
<br />
== Hardware ==<br />
<br />
=== Differential link ===<br />
<br />
The easymatic is linked to the boiler with two wires. This link can feed power to the easymatic. Easymatic can have two R4 accu in order to save data if the power cut.<br />
Boiler power is a 24V modulated with communication power.<br />
<br />
Communication is always working.<br />
<br />
[To be confirmed]<br />
<br />
The hardware is similar to [https://en.wikipedia.org/wiki/OpenTherm OpenTherm Specifications] : <br />
- differential link<br />
- about 24V<br />
- tension modulation for boiler<br />
- intensity modulation for thermostat (easymatic) ?<br />
<br />
In order to link with a logic analyzer [[Saleae Logic]] an interface must be done.<br />
<br />
=== Electrical coding ===<br />
<br />
[To be define]<br />
<br />
=== Idle state ===<br />
<br />
[To be define]<br />
<br />
== Protocol ==<br />
<br />
=== Uart based ===<br />
<br />
Whereas [https://en.wikipedia.org/wiki/OpenTherm OpenTherm] use [https://en.wikipedia.org/wiki/Manchester_code Manchester code], the easymatic seems to be based on [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Universal Asynchronous Receiver Transmitter] (UART).<br />
It's a :<br />
- 1200 bauds communication.<br />
- 8 bits of data<br />
- no parity<br />
- one stop bit<br />
<br />
The bit order of the 8 data bits is LSB-first. <br />
<br />
=== details ===<br />
<br />
[To be discovered and detailed]<br />
<br />
Frames are repeated twice<br />
<br />
To be define : how an order is send<br />
<br />
== Resources ==<br />
<br />
* [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Wikipedia: Universal asynchronous receiver/transmitter]<br />
* [http://www.dedietrich-heating.com/index.php/products/product_ranges/floor_standing_boilers/oil_condensing_wingo dedietrich information]<br />
<br />
<br />
[[Category:Protocol decoder]]<br />
[[Category:UART]]</div>
Platypus
https://sigrok.org/w/index.php?title=Protocol_decoder:Easymatic&diff=12926
Protocol decoder:Easymatic
2017-11-21T12:50:19Z
<p>Platypus: </p>
<hr />
<div>{{Infobox protocol decoder<br />
| id = easymatic<br />
| name = EASYMATIC<br />
| description = Asynchronous, serial bus, differential<br />
| status = planned<br />
| license = GPLv2+<br />
| source_code_dir = uart<br />
| image = [[File:Easymatic.jpg|250px]]<br />
| input = logic<br />
| output = Easymatic protocol<br />
| probes = &mdash;<br />
| optional_probes = Thermostat, Boiler<br />
| options = invert_thermostat, invert_boiler<br />
}}<br />
<br />
The '''easymatic''' protocol decoder can decode the thermostat Easymatic bus protocol used by De Dietrich.<br />
<br />
== Hardware ==<br />
<br />
=== Differential link ===<br />
<br />
The easymatic is linked to the boiler with two wires. This link can feed power to the easymatic. Easymatic can have two R4 accu in order to save data if the power cut.<br />
Boiler power is a 24V modulated with communication power.<br />
<br />
Communication is always working.<br />
<br />
[To be confirmed]<br />
The hardware is similar to [https://en.wikipedia.org/wiki/OpenTherm OpenTherm Specifications] : <br />
- differential link<br />
- about 24V<br />
- tension modulation for boiler<br />
- intensity modulation for thermostat (easymatic) ?<br />
<br />
In order to link with a logic analyzer [[Saleae Logic]] an interface must be done.<br />
<br />
=== Electrical coding ===<br />
<br />
[To be define]<br />
<br />
=== Idle state ===<br />
<br />
[To be define]<br />
<br />
== Protocol ==<br />
<br />
=== Uart based ===<br />
<br />
Whereas [https://en.wikipedia.org/wiki/OpenTherm OpenTherm] use [https://en.wikipedia.org/wiki/Manchester_code Manchester code], the easymatic seems to be based on [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Universal Asynchronous Receiver Transmitter] (UART).<br />
It's a :<br />
- 1200 bauds communication.<br />
- 8 bits of data<br />
- no parity<br />
- one stop bit<br />
<br />
The bit order of the 8 data bits is LSB-first. <br />
<br />
=== details ===<br />
<br />
[To be discovered and detailed]<br />
<br />
Frames are repeated twice<br />
<br />
To be define : how an order is send<br />
<br />
== Resources ==<br />
<br />
* [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Wikipedia: Universal asynchronous receiver/transmitter]<br />
* [http://www.dedietrich-heating.com/index.php/products/product_ranges/floor_standing_boilers/oil_condensing_wingo dedietrich information]<br />
<br />
<br />
[[Category:Protocol decoder]]<br />
[[Category:UART]]</div>
Platypus
https://sigrok.org/w/index.php?title=Protocol_decoder:Easymatic&diff=12925
Protocol decoder:Easymatic
2017-11-21T12:48:37Z
<p>Platypus: </p>
<hr />
<div>{{Infobox protocol decoder<br />
| id = easymatic<br />
| name = EASYMATIC<br />
| description = Asynchronous, serial bus, differential<br />
| status = planned<br />
| license = GPLv2+<br />
| source_code_dir = uart<br />
| image = [[File:Easymatic.jpg|250px]]<br />
| input = logic<br />
| output = Easymatic protocol<br />
| probes = &mdash;<br />
| optional_probes = Thermostat, Boiler<br />
| options = invert_thermostat, invert_boiler<br />
}}<br />
<br />
The '''easymatic''' protocol decoder can decode the thermostat Easymatic bus protocol used by De Dietrich.<br />
<br />
== Hardware ==<br />
<br />
=== Differential link ===<br />
<br />
The easymatic is linked to the boiler with two wires. This link can feed power to the easymatic. Easymatic can have two R4 accu in order to save data if the power cut.<br />
Boiler power is a 24V modulated with communication power.<br />
<br />
[To be confirmed]<br />
The hardware is similar to [https://en.wikipedia.org/wiki/OpenTherm OpenTherm Specifications] : <br />
- differential link<br />
- about 24V<br />
- tension modulation for boiler<br />
- intensity modulation for thermostat (easymatic) ?<br />
<br />
In order to link with a logic analyzer [[Saleae Logic]] an interface must be done. <br />
<br />
== Protocol ==<br />
<br />
=== Uart based ===<br />
<br />
Whereas [https://en.wikipedia.org/wiki/OpenTherm OpenTherm] use [https://en.wikipedia.org/wiki/Manchester_code Manchester code], the easymatic seems to be based on [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Universal Asynchronous Receiver Transmitter] (UART).<br />
It's a :<br />
- 1200 bauds communication.<br />
- 8 bits of data<br />
- no parity<br />
- one stop bit<br />
<br />
The bit order of the 8 data bits is LSB-first. <br />
<br />
=== Idle state ===<br />
<br />
[TO be define]<br />
<br />
=== details ===<br />
<br />
[To be discovered and detailed]<br />
<br />
Frames are repeated twice<br />
<br />
To be define : how an order is send<br />
<br />
== Resources ==<br />
<br />
* [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Wikipedia: Universal asynchronous receiver/transmitter]<br />
* [http://www.dedietrich-heating.com/index.php/products/product_ranges/floor_standing_boilers/oil_condensing_wingo dedietrich information]<br />
<br />
<br />
[[Category:Protocol decoder]]<br />
[[Category:UART]]</div>
Platypus
https://sigrok.org/w/index.php?title=Protocol_decoder:Easymatic&diff=12924
Protocol decoder:Easymatic
2017-11-21T12:48:00Z
<p>Platypus: </p>
<hr />
<div>{{Infobox protocol decoder<br />
| id = easymatic<br />
| name = EASYMATIC<br />
| description = Asynchronous, serial bus, differential<br />
| status = planned<br />
| license = GPLv2+<br />
| source_code_dir = uart<br />
| image = [[File:Easymatic.jpg|250px]]<br />
| input = logic<br />
| output = Easymatic protocol<br />
| probes = &mdash;<br />
| optional_probes = Thermostat, Boiler<br />
| options = invert_thermostat, invert_boiler<br />
}}<br />
<br />
The '''easymatic''' protocol decoder can decode the thermostat Easymatic bus protocol used by De Dietrich.<br />
<br />
== Hardware ==<br />
<br />
=== Differential link ===<br />
<br />
The easymatic is linked to the boiler with two wires. This link can feed power to the easymatic. Easymatic can have two R4 accu in order to save data if the power cut.<br />
Boiler power is a 24V modulated with communication power.<br />
<br />
[To be confirmed]<br />
The hardware is similar to [https://en.wikipedia.org/wiki/OpenTherm OpenTherm Specifications] : <br />
- differential link<br />
- about 24V<br />
- tension modulation for boiler<br />
- intensity modulation for thermostat (easymatic) ?<br />
<br />
In order to link with a logic analyzer [[Saleae Logic]] an interface must be done. <br />
<br />
== Protocol ==<br />
<br />
=== Uart based ===<br />
<br />
Whereas [https://en.wikipedia.org/wiki/OpenTherm OpenTherm] use [https://en.wikipedia.org/wiki/Manchester_code Manchester code], the easymatic seems to be based on [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Universal Asynchronous Receiver Transmitter] (UART).<br />
It's a :<br />
- 1200 bauds communication.<br />
- 8 bits of data<br />
- no parity<br />
- one stop bit<br />
<br />
The bit order of the 8 data bits is LSB-first. <br />
<br />
=== Idle state ===<br />
<br />
[TO be define]<br />
<br />
=== details ===<br />
<br />
[To be discovered and detailed]<br />
<br />
Frames are repeated twice<br />
<br />
To be define : how an order is send<br />
<br />
== Resources ==<br />
<br />
* [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Wikipedia: Universal asynchronous receiver/transmitter]<br />
* [http://www.dedietrich-heating.com/index.php/products/product_ranges/floor_standing_boilers/oil_condensing_wingo]<br />
<br />
<br />
[[Category:Protocol decoder]]<br />
[[Category:UART]]</div>
Platypus
https://sigrok.org/w/index.php?title=Protocol_decoder:Easymatic&diff=12923
Protocol decoder:Easymatic
2017-11-21T12:47:33Z
<p>Platypus: </p>
<hr />
<div>{{Infobox protocol decoder<br />
| id = easymatic<br />
| name = EASYMATIC<br />
| description = Asynchronous, serial bus, differential<br />
| status = planned<br />
| license = GPLv2+<br />
| source_code_dir = uart<br />
| image = [[File:Easymatic.jpg|250px]]<br />
| input = logic<br />
| output = Easymatic protocol<br />
| probes = &mdash;<br />
| optional_probes = Thermostat, Boiler<br />
| options = invert_thermostat, invert_boiler<br />
}}<br />
<br />
The '''easymatic''' protocol decoder can decode the thermostat Easymatic bus protocol used by De Dietrich.<br />
<br />
== Hardware ==<br />
<br />
=== Differential link ===<br />
<br />
The easymatic is linked to the boiler with two wires. This link can feed power to the easymatic. Easymatic can have two R4 accu in order to save data if the power cut.<br />
Boiler power is a 24V modulated with communication power.<br />
<br />
[To be confirmed]<br />
The hardware is similar to [https://en.wikipedia.org/wiki/OpenTherm OpenTherm Specifications] : <br />
- differential link<br />
- about 24V<br />
- tension modulation for boiler<br />
- intensity modulation for thermostat (easymatic) ?<br />
<br />
In order to link with a logic analyzer [[Saleae Logic]] an interface must be done. <br />
<br />
== Protocol ==<br />
<br />
== Uart baased ==<br />
<br />
Whereas [https://en.wikipedia.org/wiki/OpenTherm OpenTherm] use [https://en.wikipedia.org/wiki/Manchester_code Manchester code], the easymatic seems to be based on [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Universal Asynchronous Receiver Transmitter] (UART).<br />
It's a :<br />
- 1200 bauds communication.<br />
- 8 bits of data<br />
- no parity<br />
- one stop bit<br />
<br />
The bit order of the 8 data bits is LSB-first. <br />
<br />
== Idle state ==<br />
<br />
[TO be define]<br />
<br />
== details ==<br />
<br />
[To be discovered and detailed]<br />
<br />
Frames are repeated twice<br />
<br />
To be define : how an order is send<br />
<br />
== Resources ==<br />
<br />
* [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Wikipedia: Universal asynchronous receiver/transmitter]<br />
* [http://www.dedietrich-heating.com/index.php/products/product_ranges/floor_standing_boilers/oil_condensing_wingo]<br />
<br />
<br />
[[Category:Protocol decoder]]<br />
[[Category:UART]]</div>
Platypus
https://sigrok.org/w/index.php?title=Protocol_decoder:Easymatic&diff=12922
Protocol decoder:Easymatic
2017-11-21T11:25:06Z
<p>Platypus: /* Hardware */</p>
<hr />
<div>{{Infobox protocol decoder<br />
| id = easymatic<br />
| name = EASYMATIC<br />
| description = Asynchronous, serial bus, differential<br />
| status = planned<br />
| license = GPLv2+<br />
| source_code_dir = uart<br />
| image = [[File:Easymatic.jpg|250px]]<br />
| input = logic<br />
| output = Easymatic protocol<br />
| probes = &mdash;<br />
| optional_probes = Thermostat, Boiler<br />
| options = invert_thermostat, invert_boiler<br />
}}<br />
<br />
The '''easymatic''' protocol decoder can decode the thermostat Easymatic bus protocol used by De Dietrich.<br />
<br />
== Hardware ==<br />
<br />
=== Differential link ===<br />
<br />
The easymatic is linked to the boiler with two wires. This link can feed power to the easymatic. Easymatic can have two R4 accu in order to save data if the power cut.<br />
Boiler power is a 24V modulated with communication power.<br />
<br />
[To be confirmed]<br />
The hardware is similar to [https://en.wikipedia.org/wiki/OpenTherm OpenTherm Specifcations] : <br />
- differential link<br />
- about 24V<br />
- tension modulation for boiler<br />
- intensity modulation for thermostat (easymatic) ?<br />
<br />
== Protocol ==<br />
<br />
[https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Universal Asynchronous Receiver Transmitter] (UART) is a simple serial communication protocol which allows two devices to talk to each other. It uses just two data signals and a ground (GND) signal:<br />
<br />
* '''RX/RXD''': Receive signal<br />
* '''TX/TXD''': Transmit signal<br />
<br />
The protocol is asynchronous, i.e., there is no dedicated clock signal. Rather, both devices have to agree on a baudrate (number of bits to be transmitted per second) beforehand. Baudrates can be arbitrary in theory, but usually the choice is limited by the hardware UARTs that are used. Common values are '''9600''' or '''115200'''.<br />
<br />
The protocol allows full-duplex transmission, i.e. both devices can send data at the same time. However, unlike SPI (which is always full-duplex, i.e., each send operation is automatically also a receive operation), UART allows one-way communication, too. In such a case only one signal (and GND) is required.<br />
<br />
The data is sent over the TX line in so-called '''frames''', which consist of:<br />
<br />
* Exactly '''one start bit''' (always 0/low).<br />
* Between 5 and 9 '''data bits'''.<br />
* An (optional) '''parity bit'''.<br />
* One or more '''stop bit(s)'''.<br />
<br />
The idle state of the RX/TX line is 1/high. As the start bit is 0/low, the receiver can continually monitor its RX line for a falling edge, in order to detect the start bit. Once detected, it can (due to the agreed-upon baudrate and thus the known width/duration of one UART bit) sample the state of the RX line "in the middle" of each (start/data/parity/stop) bit it wants to analyze.<br />
<br />
It is configurable whether there is a '''parity bit''' in a frame, and if yes, which '''type of parity''' is used:<br />
<br />
* '''None''': No parity bit is included.<br />
* '''Odd''': The number of 1 bits in the data (and parity bit itself) is odd.<br />
* '''Even''': The number of 1 bits in the data (and parity bit itself) is even.<br />
* '''Mark/one''': The parity bit is always 1/high (also called 'mark state').<br />
* '''Space/zero''': The parity bit is always 0/low (also called 'space state').<br />
<br />
It is also configurable how many '''stop bits''' are to be used:<br />
<br />
* '''1 stop bit''' (most common case)<br />
* '''2 stop bits'''<br />
* '''1.5 stop bits''' (i.e., one stop bit, but 1.5 times the UART bit width)<br />
* '''0.5 stop bits''' (i.e., one stop bit, but 0.5 times the UART bit width)<br />
<br />
The '''bit order''' of the 5-9 data bits is usually '''LSB-first'''.<br />
<br />
Possible special cases:<br />
<br />
* One or both data lines could be inverted, which also means that the idle state of the signal line(s) is low instead of high.<br />
* Only the data bits on one or both data lines (and the parity bit) could be inverted (but the start/stop bits remain non-inverted).<br />
* The bit order could be MSB-first instead of LSB-first.<br />
* The baudrate could change in the middle of the communication. This only happens in very special cases, and can only work if both devices know to which baudrate they are to switch, and when.<br />
* Theoretically, the baudrate on RX and the one on TX could also be different, but that's a very obscure case and probably doesn't happen very often in practice.<br />
<br />
Error conditions:<br />
<br />
* If there is a parity bit, but it doesn't match the expected parity, this is called a '''parity error'''.<br />
* If there are no stop bit(s), that's called a '''frame error'''.<br />
<br />
== Resources ==<br />
<br />
* [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Wikipedia: Universal asynchronous receiver/transmitter]<br />
* [http://www.dedietrich-heating.com/index.php/products/product_ranges/floor_standing_boilers/oil_condensing_wingo]<br />
<br />
<br />
[[Category:Protocol decoder]]<br />
[[Category:UART]]</div>
Platypus
https://sigrok.org/w/index.php?title=Protocol_decoder:Easymatic&diff=12921
Protocol decoder:Easymatic
2017-11-21T11:24:09Z
<p>Platypus: </p>
<hr />
<div>{{Infobox protocol decoder<br />
| id = easymatic<br />
| name = EASYMATIC<br />
| description = Asynchronous, serial bus, differential<br />
| status = planned<br />
| license = GPLv2+<br />
| source_code_dir = uart<br />
| image = [[File:Easymatic.jpg|250px]]<br />
| input = logic<br />
| output = Easymatic protocol<br />
| probes = &mdash;<br />
| optional_probes = Thermostat, Boiler<br />
| options = invert_thermostat, invert_boiler<br />
}}<br />
<br />
The '''easymatic''' protocol decoder can decode the thermostat Easymatic bus protocol used by De Dietrich.<br />
<br />
== Hardware ==<br />
<br />
=== Differentiel link ===<br />
<br />
The easymatic is linked to the boiler with two wires. This link can feed power to the easymatic. Easymatic can have two R4 accu in order to save data if the power cut.<br />
Boiler power is a 24V modulated with communication power.<br />
[To be confirmed]<br />
The hardware is similar to [https://en.wikipedia.org/wiki/OpenTherm OpenTherm Specifcations]<br />
<br />
<br />
== Protocol ==<br />
<br />
[https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Universal Asynchronous Receiver Transmitter] (UART) is a simple serial communication protocol which allows two devices to talk to each other. It uses just two data signals and a ground (GND) signal:<br />
<br />
* '''RX/RXD''': Receive signal<br />
* '''TX/TXD''': Transmit signal<br />
<br />
The protocol is asynchronous, i.e., there is no dedicated clock signal. Rather, both devices have to agree on a baudrate (number of bits to be transmitted per second) beforehand. Baudrates can be arbitrary in theory, but usually the choice is limited by the hardware UARTs that are used. Common values are '''9600''' or '''115200'''.<br />
<br />
The protocol allows full-duplex transmission, i.e. both devices can send data at the same time. However, unlike SPI (which is always full-duplex, i.e., each send operation is automatically also a receive operation), UART allows one-way communication, too. In such a case only one signal (and GND) is required.<br />
<br />
The data is sent over the TX line in so-called '''frames''', which consist of:<br />
<br />
* Exactly '''one start bit''' (always 0/low).<br />
* Between 5 and 9 '''data bits'''.<br />
* An (optional) '''parity bit'''.<br />
* One or more '''stop bit(s)'''.<br />
<br />
The idle state of the RX/TX line is 1/high. As the start bit is 0/low, the receiver can continually monitor its RX line for a falling edge, in order to detect the start bit. Once detected, it can (due to the agreed-upon baudrate and thus the known width/duration of one UART bit) sample the state of the RX line "in the middle" of each (start/data/parity/stop) bit it wants to analyze.<br />
<br />
It is configurable whether there is a '''parity bit''' in a frame, and if yes, which '''type of parity''' is used:<br />
<br />
* '''None''': No parity bit is included.<br />
* '''Odd''': The number of 1 bits in the data (and parity bit itself) is odd.<br />
* '''Even''': The number of 1 bits in the data (and parity bit itself) is even.<br />
* '''Mark/one''': The parity bit is always 1/high (also called 'mark state').<br />
* '''Space/zero''': The parity bit is always 0/low (also called 'space state').<br />
<br />
It is also configurable how many '''stop bits''' are to be used:<br />
<br />
* '''1 stop bit''' (most common case)<br />
* '''2 stop bits'''<br />
* '''1.5 stop bits''' (i.e., one stop bit, but 1.5 times the UART bit width)<br />
* '''0.5 stop bits''' (i.e., one stop bit, but 0.5 times the UART bit width)<br />
<br />
The '''bit order''' of the 5-9 data bits is usually '''LSB-first'''.<br />
<br />
Possible special cases:<br />
<br />
* One or both data lines could be inverted, which also means that the idle state of the signal line(s) is low instead of high.<br />
* Only the data bits on one or both data lines (and the parity bit) could be inverted (but the start/stop bits remain non-inverted).<br />
* The bit order could be MSB-first instead of LSB-first.<br />
* The baudrate could change in the middle of the communication. This only happens in very special cases, and can only work if both devices know to which baudrate they are to switch, and when.<br />
* Theoretically, the baudrate on RX and the one on TX could also be different, but that's a very obscure case and probably doesn't happen very often in practice.<br />
<br />
Error conditions:<br />
<br />
* If there is a parity bit, but it doesn't match the expected parity, this is called a '''parity error'''.<br />
* If there are no stop bit(s), that's called a '''frame error'''.<br />
<br />
== Resources ==<br />
<br />
* [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Wikipedia: Universal asynchronous receiver/transmitter]<br />
* [http://www.dedietrich-heating.com/index.php/products/product_ranges/floor_standing_boilers/oil_condensing_wingo]<br />
<br />
<br />
[[Category:Protocol decoder]]<br />
[[Category:UART]]</div>
Platypus
https://sigrok.org/w/index.php?title=Protocol_decoder:Uart&diff=12920
Protocol decoder:Uart
2017-11-21T11:15:32Z
<p>Platypus: Undo revision 12915 by Platypus (talk)</p>
<hr />
<div>{{Infobox protocol decoder<br />
| id = uart<br />
| name = UART<br />
| description = Asynchronous, serial bus<br />
| status = supported<br />
| license = GPLv2+<br />
| source_code_dir = uart<br />
| image = [[File:Rxtx.jpg|250px]]<br />
| input = logic<br />
| output = uart<br />
| probes = &mdash;<br />
| optional_probes = RX, TX<br />
| options = baudrate, num_data_bits, parity_type, parity_check, num_stop_bits, bit_order, format, invert_rx, invert_tx<br />
}}<br />
<br />
The '''uart''' protocol decoder (a.k.a. RS232) can decode the [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Universal asynchronous receiver/transmitter] and similar asynchronous communication protocols with various baudrates, stop bit settings, parity settings and so on.<br />
<br />
== Hardware ==<br />
<br />
=== V&A VA18B multimeter cable ===<br />
<br />
The [http://sigrok.org/gitweb/?p=sigrok-dumps.git;a=tree;f=uart/v_and_a_va18b_cable uart/v_and_a_va18b_cable] directory in sigrok-dumps contains a set of example captures of the UART communication on the [[V&A VA18B]] multimeter PC cable (captured on the RX/TX pins of the Prolific PL2303HX chip in that cable). Additionally, it also contains the IR LED "probe" as well as USB D+/D- probes in the same capture.<br />
<br />
The logic analyzer used was a [[Saleae Logic]] (at 16MHz). <br />
<br />
'''Probe setup:'''<br />
<br />
{| border="0" style="font-size: smaller" class="alternategrey sortable sigroktable"<br />
|-<br />
!Probe<br />
!Pin/chip<br />
<br />
|-<br />
| 1 (black) || IR LED<br />
|-<br />
| 2 (brown) || TX (PL2303HX)<br />
|-<br />
| 3 (red) || RX (PL2303HX)<br />
|-<br />
| 4 (orange) || USB DM<br />
|-<br />
| 5 (yellow) || USB DP<br />
<br />
|}<br />
<br />
'''Photos:'''<br />
<br />
<gallery><br />
File:Va va18b probing pcb.jpg<br />
File:Va va18b probing chip.jpg<br />
File:Va va18b probing setup.jpg<br />
</gallery><br />
<br />
== Protocol ==<br />
<br />
[https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Universal Asynchronous Receiver Transmitter] (UART) is a simple serial communication protocol which allows two devices to talk to each other. It uses just two data signals and a ground (GND) signal:<br />
<br />
* '''RX/RXD''': Receive signal<br />
* '''TX/TXD''': Transmit signal<br />
<br />
The protocol is asynchronous, i.e., there is no dedicated clock signal. Rather, both devices have to agree on a baudrate (number of bits to be transmitted per second) beforehand. Baudrates can be arbitrary in theory, but usually the choice is limited by the hardware UARTs that are used. Common values are '''9600''' or '''115200'''.<br />
<br />
The protocol allows full-duplex transmission, i.e. both devices can send data at the same time. However, unlike SPI (which is always full-duplex, i.e., each send operation is automatically also a receive operation), UART allows one-way communication, too. In such a case only one signal (and GND) is required.<br />
<br />
The data is sent over the TX line in so-called '''frames''', which consist of:<br />
<br />
* Exactly '''one start bit''' (always 0/low).<br />
* Between 5 and 9 '''data bits'''.<br />
* An (optional) '''parity bit'''.<br />
* One or more '''stop bit(s)'''.<br />
<br />
The idle state of the RX/TX line is 1/high. As the start bit is 0/low, the receiver can continually monitor its RX line for a falling edge, in order to detect the start bit. Once detected, it can (due to the agreed-upon baudrate and thus the known width/duration of one UART bit) sample the state of the RX line "in the middle" of each (start/data/parity/stop) bit it wants to analyze.<br />
<br />
It is configurable whether there is a '''parity bit''' in a frame, and if yes, which '''type of parity''' is used:<br />
<br />
* '''None''': No parity bit is included.<br />
* '''Odd''': The number of 1 bits in the data (and parity bit itself) is odd.<br />
* '''Even''': The number of 1 bits in the data (and parity bit itself) is even.<br />
* '''Mark/one''': The parity bit is always 1/high (also called 'mark state').<br />
* '''Space/zero''': The parity bit is always 0/low (also called 'space state').<br />
<br />
It is also configurable how many '''stop bits''' are to be used:<br />
<br />
* '''1 stop bit''' (most common case)<br />
* '''2 stop bits'''<br />
* '''1.5 stop bits''' (i.e., one stop bit, but 1.5 times the UART bit width)<br />
* '''0.5 stop bits''' (i.e., one stop bit, but 0.5 times the UART bit width)<br />
<br />
The '''bit order''' of the 5-9 data bits is usually '''LSB-first'''.<br />
<br />
Possible special cases:<br />
<br />
* One or both data lines could be inverted, which also means that the idle state of the signal line(s) is low instead of high.<br />
* Only the data bits on one or both data lines (and the parity bit) could be inverted (but the start/stop bits remain non-inverted).<br />
* The bit order could be MSB-first instead of LSB-first.<br />
* The baudrate could change in the middle of the communication. This only happens in very special cases, and can only work if both devices know to which baudrate they are to switch, and when.<br />
* Theoretically, the baudrate on RX and the one on TX could also be different, but that's a very obscure case and probably doesn't happen very often in practice.<br />
<br />
Error conditions:<br />
<br />
* If there is a parity bit, but it doesn't match the expected parity, this is called a '''parity error'''.<br />
* If there are no stop bit(s), that's called a '''frame error'''.<br />
<br />
== Resources ==<br />
<br />
* [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Wikipedia: Universal asynchronous receiver/transmitter]<br />
* [http://www.lammertbies.nl/comm/info/RS-232_specs.html lammertbies.nl: RS232 Specifications and standard]<br />
* [http://www.wcscnet.com/Tutorials/SerialComm/Page1.htm wcscnet.com: Introduction To RS232 Serial Communication]<br />
* [http://www.freebsd.org/doc/en_US.ISO8859-1/articles/serial-uart/ freebsd.org: Serial and UART Tutorial]<br />
* [http://controls.ame.nd.edu/microcontroller/main/node24.html controls.ame.nd.edu: RS-232 Serial Protocol]<br />
<br />
[[Category:Protocol decoder]]<br />
[[Category:UART]]</div>
Platypus
https://sigrok.org/w/index.php?title=Protocol_decoder:Uart&diff=12919
Protocol decoder:Uart
2017-11-21T11:15:13Z
<p>Platypus: Undo revision 12916 by Platypus (talk)</p>
<hr />
<div>BEGINNING !!!!<br />
<br />
{{Infobox protocol decoder<br />
| id = uart<br />
| name = UART<br />
| description = Asynchronous, serial bus<br />
| status = supported<br />
| license = GPLv2+<br />
| source_code_dir = uart<br />
| image = [[File:Rxtx.jpg|250px]]<br />
| input = uart<br />
| output = uart<br />
| probes = &mdash;<br />
| optional_probes = RX, TX<br />
| options = invert_rx, invert_tx (TBD)<br />
}}<br />
<br />
The '''uart''' protocol decoder (a.k.a. RS232) can decode the [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Universal asynchronous receiver/transmitter] and similar asynchronous communication protocols with various baudrates, stop bit settings, parity settings and so on.<br />
<br />
== Hardware ==<br />
<br />
=== V&A VA18B multimeter cable ===<br />
<br />
The [http://sigrok.org/gitweb/?p=sigrok-dumps.git;a=tree;f=uart/v_and_a_va18b_cable uart/v_and_a_va18b_cable] directory in sigrok-dumps contains a set of example captures of the UART communication on the [[V&A VA18B]] multimeter PC cable (captured on the RX/TX pins of the Prolific PL2303HX chip in that cable). Additionally, it also contains the IR LED "probe" as well as USB D+/D- probes in the same capture.<br />
<br />
The logic analyzer used was a [[Saleae Logic]] (at 16MHz). <br />
<br />
'''Probe setup:'''<br />
<br />
{| border="0" style="font-size: smaller" class="alternategrey sortable sigroktable"<br />
|-<br />
!Probe<br />
!Pin/chip<br />
<br />
|-<br />
| 1 (black) || IR LED<br />
|-<br />
| 2 (brown) || TX (PL2303HX)<br />
|-<br />
| 3 (red) || RX (PL2303HX)<br />
|-<br />
| 4 (orange) || USB DM<br />
|-<br />
| 5 (yellow) || USB DP<br />
<br />
|}<br />
<br />
'''Photos:'''<br />
<br />
<gallery><br />
File:Va va18b probing pcb.jpg<br />
File:Va va18b probing chip.jpg<br />
File:Va va18b probing setup.jpg<br />
</gallery><br />
<br />
== Protocol ==<br />
<br />
[https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Universal Asynchronous Receiver Transmitter] (UART) is a simple serial communication protocol which allows two devices to talk to each other. It uses just two data signals and a ground (GND) signal:<br />
<br />
* '''RX/RXD''': Receive signal<br />
* '''TX/TXD''': Transmit signal<br />
<br />
The protocol is asynchronous, i.e., there is no dedicated clock signal. Rather, both devices have to agree on a baudrate (number of bits to be transmitted per second) beforehand. Baudrates can be arbitrary in theory, but usually the choice is limited by the hardware UARTs that are used. Common values are '''9600''' or '''115200'''.<br />
<br />
The protocol allows full-duplex transmission, i.e. both devices can send data at the same time. However, unlike SPI (which is always full-duplex, i.e., each send operation is automatically also a receive operation), UART allows one-way communication, too. In such a case only one signal (and GND) is required.<br />
<br />
The data is sent over the TX line in so-called '''frames''', which consist of:<br />
<br />
* Exactly '''one start bit''' (always 0/low).<br />
* Between 5 and 9 '''data bits'''.<br />
* An (optional) '''parity bit'''.<br />
* One or more '''stop bit(s)'''.<br />
<br />
The idle state of the RX/TX line is 1/high. As the start bit is 0/low, the receiver can continually monitor its RX line for a falling edge, in order to detect the start bit. Once detected, it can (due to the agreed-upon baudrate and thus the known width/duration of one UART bit) sample the state of the RX line "in the middle" of each (start/data/parity/stop) bit it wants to analyze.<br />
<br />
It is configurable whether there is a '''parity bit''' in a frame, and if yes, which '''type of parity''' is used:<br />
<br />
* '''None''': No parity bit is included.<br />
* '''Odd''': The number of 1 bits in the data (and parity bit itself) is odd.<br />
* '''Even''': The number of 1 bits in the data (and parity bit itself) is even.<br />
* '''Mark/one''': The parity bit is always 1/high (also called 'mark state').<br />
* '''Space/zero''': The parity bit is always 0/low (also called 'space state').<br />
<br />
It is also configurable how many '''stop bits''' are to be used:<br />
<br />
* '''1 stop bit''' (most common case)<br />
* '''2 stop bits'''<br />
* '''1.5 stop bits''' (i.e., one stop bit, but 1.5 times the UART bit width)<br />
* '''0.5 stop bits''' (i.e., one stop bit, but 0.5 times the UART bit width)<br />
<br />
The '''bit order''' of the 5-9 data bits is usually '''LSB-first'''.<br />
<br />
Possible special cases:<br />
<br />
* One or both data lines could be inverted, which also means that the idle state of the signal line(s) is low instead of high.<br />
* Only the data bits on one or both data lines (and the parity bit) could be inverted (but the start/stop bits remain non-inverted).<br />
* The bit order could be MSB-first instead of LSB-first.<br />
* The baudrate could change in the middle of the communication. This only happens in very special cases, and can only work if both devices know to which baudrate they are to switch, and when.<br />
* Theoretically, the baudrate on RX and the one on TX could also be different, but that's a very obscure case and probably doesn't happen very often in practice.<br />
<br />
Error conditions:<br />
<br />
* If there is a parity bit, but it doesn't match the expected parity, this is called a '''parity error'''.<br />
* If there are no stop bit(s), that's called a '''frame error'''.<br />
<br />
== Resources ==<br />
<br />
* [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Wikipedia: Universal asynchronous receiver/transmitter]<br />
* [http://www.lammertbies.nl/comm/info/RS-232_specs.html lammertbies.nl: RS232 Specifications and standard]<br />
* [http://www.wcscnet.com/Tutorials/SerialComm/Page1.htm wcscnet.com: Introduction To RS232 Serial Communication]<br />
* [http://www.freebsd.org/doc/en_US.ISO8859-1/articles/serial-uart/ freebsd.org: Serial and UART Tutorial]<br />
* [http://controls.ame.nd.edu/microcontroller/main/node24.html controls.ame.nd.edu: RS-232 Serial Protocol]<br />
<br />
[[Category:Protocol decoder]]<br />
[[Category:UART]]</div>
Platypus
https://sigrok.org/w/index.php?title=Protocol_decoder:Easymatic&diff=12918
Protocol decoder:Easymatic
2017-11-21T10:47:19Z
<p>Platypus: </p>
<hr />
<div>{{Infobox protocol decoder<br />
| id = easymatic<br />
| name = EASYMATIC<br />
| description = Asynchronous, serial bus<br />
| status = planned<br />
| license = GPLv2+<br />
| source_code_dir = uart<br />
| image = [[File:Easymatic.jpg|250px]]<br />
| input = logic<br />
| output = uart<br />
| probes = &mdash;<br />
| optional_probes = RX, TX<br />
| options = baudrate, num_data_bits, parity_type, parity_check, num_stop_bits, bit_order, format, invert_rx, invert_tx<br />
}}<br />
<br />
The '''uart''' protocol decoder (a.k.a. RS232) can decode the [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Universal asynchronous receiver/transmitter] and similar asynchronous communication protocols with various baudrates, stop bit settings, parity settings and so on.<br />
<br />
== Hardware ==<br />
<br />
=== V&A VA18B multimeter cable ===<br />
<br />
The [http://sigrok.org/gitweb/?p=sigrok-dumps.git;a=tree;f=uart/v_and_a_va18b_cable uart/v_and_a_va18b_cable] directory in sigrok-dumps contains a set of example captures of the UART communication on the [[V&A VA18B]] multimeter PC cable (captured on the RX/TX pins of the Prolific PL2303HX chip in that cable). Additionally, it also contains the IR LED "probe" as well as USB D+/D- probes in the same capture.<br />
<br />
The logic analyzer used was a [[Saleae Logic]] (at 16MHz). <br />
<br />
'''Probe setup:'''<br />
<br />
{| border="0" style="font-size: smaller" class="alternategrey sortable sigroktable"<br />
|-<br />
!Probe<br />
!Pin/chip<br />
<br />
|-<br />
| 1 (black) || IR LED<br />
|-<br />
| 2 (brown) || TX (PL2303HX)<br />
|-<br />
| 3 (red) || RX (PL2303HX)<br />
|-<br />
| 4 (orange) || USB DM<br />
|-<br />
| 5 (yellow) || USB DP<br />
<br />
|}<br />
<br />
'''Photos:'''<br />
<br />
<gallery><br />
File:Va va18b probing pcb.jpg<br />
File:Va va18b probing chip.jpg<br />
File:Va va18b probing setup.jpg<br />
</gallery><br />
<br />
== Protocol ==<br />
<br />
[https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Universal Asynchronous Receiver Transmitter] (UART) is a simple serial communication protocol which allows two devices to talk to each other. It uses just two data signals and a ground (GND) signal:<br />
<br />
* '''RX/RXD''': Receive signal<br />
* '''TX/TXD''': Transmit signal<br />
<br />
The protocol is asynchronous, i.e., there is no dedicated clock signal. Rather, both devices have to agree on a baudrate (number of bits to be transmitted per second) beforehand. Baudrates can be arbitrary in theory, but usually the choice is limited by the hardware UARTs that are used. Common values are '''9600''' or '''115200'''.<br />
<br />
The protocol allows full-duplex transmission, i.e. both devices can send data at the same time. However, unlike SPI (which is always full-duplex, i.e., each send operation is automatically also a receive operation), UART allows one-way communication, too. In such a case only one signal (and GND) is required.<br />
<br />
The data is sent over the TX line in so-called '''frames''', which consist of:<br />
<br />
* Exactly '''one start bit''' (always 0/low).<br />
* Between 5 and 9 '''data bits'''.<br />
* An (optional) '''parity bit'''.<br />
* One or more '''stop bit(s)'''.<br />
<br />
The idle state of the RX/TX line is 1/high. As the start bit is 0/low, the receiver can continually monitor its RX line for a falling edge, in order to detect the start bit. Once detected, it can (due to the agreed-upon baudrate and thus the known width/duration of one UART bit) sample the state of the RX line "in the middle" of each (start/data/parity/stop) bit it wants to analyze.<br />
<br />
It is configurable whether there is a '''parity bit''' in a frame, and if yes, which '''type of parity''' is used:<br />
<br />
* '''None''': No parity bit is included.<br />
* '''Odd''': The number of 1 bits in the data (and parity bit itself) is odd.<br />
* '''Even''': The number of 1 bits in the data (and parity bit itself) is even.<br />
* '''Mark/one''': The parity bit is always 1/high (also called 'mark state').<br />
* '''Space/zero''': The parity bit is always 0/low (also called 'space state').<br />
<br />
It is also configurable how many '''stop bits''' are to be used:<br />
<br />
* '''1 stop bit''' (most common case)<br />
* '''2 stop bits'''<br />
* '''1.5 stop bits''' (i.e., one stop bit, but 1.5 times the UART bit width)<br />
* '''0.5 stop bits''' (i.e., one stop bit, but 0.5 times the UART bit width)<br />
<br />
The '''bit order''' of the 5-9 data bits is usually '''LSB-first'''.<br />
<br />
Possible special cases:<br />
<br />
* One or both data lines could be inverted, which also means that the idle state of the signal line(s) is low instead of high.<br />
* Only the data bits on one or both data lines (and the parity bit) could be inverted (but the start/stop bits remain non-inverted).<br />
* The bit order could be MSB-first instead of LSB-first.<br />
* The baudrate could change in the middle of the communication. This only happens in very special cases, and can only work if both devices know to which baudrate they are to switch, and when.<br />
* Theoretically, the baudrate on RX and the one on TX could also be different, but that's a very obscure case and probably doesn't happen very often in practice.<br />
<br />
Error conditions:<br />
<br />
* If there is a parity bit, but it doesn't match the expected parity, this is called a '''parity error'''.<br />
* If there are no stop bit(s), that's called a '''frame error'''.<br />
<br />
== Resources ==<br />
<br />
* [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Wikipedia: Universal asynchronous receiver/transmitter]<br />
* [http://www.dedietrich-heating.com/index.php/products/product_ranges/floor_standing_boilers/oil_condensing_wingo]<br />
<br />
<br />
[[Category:Protocol decoder]]<br />
[[Category:UART]]</div>
Platypus
https://sigrok.org/w/index.php?title=Protocol_decoder:Uart&diff=12916
Protocol decoder:Uart
2017-11-21T09:56:47Z
<p>Platypus: </p>
<hr />
<div>BEGINNING from UART Model !!!!<br />
<br />
{{Infobox protocol decoder<br />
| id = uart<br />
| name = UART<br />
| description = Asynchronous, serial bus<br />
| status = supported<br />
| license = GPLv2+<br />
| source_code_dir = uart<br />
| image = [[File:Rxtx.jpg|250px]]<br />
| input = uart<br />
| output = uart<br />
| probes = &mdash;<br />
| optional_probes = RX, TX<br />
| options = invert_rx, invert_tx (TBD)<br />
}}<br />
<br />
The '''uart''' protocol decoder (a.k.a. RS232) can decode the [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Universal asynchronous receiver/transmitter] and similar asynchronous communication protocols with various baudrates, stop bit settings, parity settings and so on.<br />
<br />
== Hardware ==<br />
<br />
=== V&A VA18B multimeter cable ===<br />
<br />
The [http://sigrok.org/gitweb/?p=sigrok-dumps.git;a=tree;f=uart/v_and_a_va18b_cable uart/v_and_a_va18b_cable] directory in sigrok-dumps contains a set of example captures of the UART communication on the [[V&A VA18B]] multimeter PC cable (captured on the RX/TX pins of the Prolific PL2303HX chip in that cable). Additionally, it also contains the IR LED "probe" as well as USB D+/D- probes in the same capture.<br />
<br />
The logic analyzer used was a [[Saleae Logic]] (at 16MHz). <br />
<br />
'''Probe setup:'''<br />
<br />
{| border="0" style="font-size: smaller" class="alternategrey sortable sigroktable"<br />
|-<br />
!Probe<br />
!Pin/chip<br />
<br />
|-<br />
| 1 (black) || IR LED<br />
|-<br />
| 2 (brown) || TX (PL2303HX)<br />
|-<br />
| 3 (red) || RX (PL2303HX)<br />
|-<br />
| 4 (orange) || USB DM<br />
|-<br />
| 5 (yellow) || USB DP<br />
<br />
|}<br />
<br />
'''Photos:'''<br />
<br />
<gallery><br />
File:Va va18b probing pcb.jpg<br />
File:Va va18b probing chip.jpg<br />
File:Va va18b probing setup.jpg<br />
</gallery><br />
<br />
== Protocol ==<br />
<br />
[https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Universal Asynchronous Receiver Transmitter] (UART) is a simple serial communication protocol which allows two devices to talk to each other. It uses just two data signals and a ground (GND) signal:<br />
<br />
* '''RX/RXD''': Receive signal<br />
* '''TX/TXD''': Transmit signal<br />
<br />
The protocol is asynchronous, i.e., there is no dedicated clock signal. Rather, both devices have to agree on a baudrate (number of bits to be transmitted per second) beforehand. Baudrates can be arbitrary in theory, but usually the choice is limited by the hardware UARTs that are used. Common values are '''9600''' or '''115200'''.<br />
<br />
The protocol allows full-duplex transmission, i.e. both devices can send data at the same time. However, unlike SPI (which is always full-duplex, i.e., each send operation is automatically also a receive operation), UART allows one-way communication, too. In such a case only one signal (and GND) is required.<br />
<br />
The data is sent over the TX line in so-called '''frames''', which consist of:<br />
<br />
* Exactly '''one start bit''' (always 0/low).<br />
* Between 5 and 9 '''data bits'''.<br />
* An (optional) '''parity bit'''.<br />
* One or more '''stop bit(s)'''.<br />
<br />
The idle state of the RX/TX line is 1/high. As the start bit is 0/low, the receiver can continually monitor its RX line for a falling edge, in order to detect the start bit. Once detected, it can (due to the agreed-upon baudrate and thus the known width/duration of one UART bit) sample the state of the RX line "in the middle" of each (start/data/parity/stop) bit it wants to analyze.<br />
<br />
It is configurable whether there is a '''parity bit''' in a frame, and if yes, which '''type of parity''' is used:<br />
<br />
* '''None''': No parity bit is included.<br />
* '''Odd''': The number of 1 bits in the data (and parity bit itself) is odd.<br />
* '''Even''': The number of 1 bits in the data (and parity bit itself) is even.<br />
* '''Mark/one''': The parity bit is always 1/high (also called 'mark state').<br />
* '''Space/zero''': The parity bit is always 0/low (also called 'space state').<br />
<br />
It is also configurable how many '''stop bits''' are to be used:<br />
<br />
* '''1 stop bit''' (most common case)<br />
* '''2 stop bits'''<br />
* '''1.5 stop bits''' (i.e., one stop bit, but 1.5 times the UART bit width)<br />
* '''0.5 stop bits''' (i.e., one stop bit, but 0.5 times the UART bit width)<br />
<br />
The '''bit order''' of the 5-9 data bits is usually '''LSB-first'''.<br />
<br />
Possible special cases:<br />
<br />
* One or both data lines could be inverted, which also means that the idle state of the signal line(s) is low instead of high.<br />
* Only the data bits on one or both data lines (and the parity bit) could be inverted (but the start/stop bits remain non-inverted).<br />
* The bit order could be MSB-first instead of LSB-first.<br />
* The baudrate could change in the middle of the communication. This only happens in very special cases, and can only work if both devices know to which baudrate they are to switch, and when.<br />
* Theoretically, the baudrate on RX and the one on TX could also be different, but that's a very obscure case and probably doesn't happen very often in practice.<br />
<br />
Error conditions:<br />
<br />
* If there is a parity bit, but it doesn't match the expected parity, this is called a '''parity error'''.<br />
* If there are no stop bit(s), that's called a '''frame error'''.<br />
<br />
== Resources ==<br />
<br />
* [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Wikipedia: Universal asynchronous receiver/transmitter]<br />
* [http://www.lammertbies.nl/comm/info/RS-232_specs.html lammertbies.nl: RS232 Specifications and standard]<br />
* [http://www.wcscnet.com/Tutorials/SerialComm/Page1.htm wcscnet.com: Introduction To RS232 Serial Communication]<br />
* [http://www.freebsd.org/doc/en_US.ISO8859-1/articles/serial-uart/ freebsd.org: Serial and UART Tutorial]<br />
* [http://controls.ame.nd.edu/microcontroller/main/node24.html controls.ame.nd.edu: RS-232 Serial Protocol]<br />
<br />
[[Category:Protocol decoder]]<br />
[[Category:UART]]</div>
Platypus
https://sigrok.org/w/index.php?title=Protocol_decoder:Uart&diff=12915
Protocol decoder:Uart
2017-11-21T09:56:27Z
<p>Platypus: </p>
<hr />
<div>BEGINNING !!!!<br />
<br />
{{Infobox protocol decoder<br />
| id = uart<br />
| name = UART<br />
| description = Asynchronous, serial bus<br />
| status = supported<br />
| license = GPLv2+<br />
| source_code_dir = uart<br />
| image = [[File:Rxtx.jpg|250px]]<br />
| input = uart<br />
| output = uart<br />
| probes = &mdash;<br />
| optional_probes = RX, TX<br />
| options = invert_rx, invert_tx (TBD)<br />
}}<br />
<br />
The '''uart''' protocol decoder (a.k.a. RS232) can decode the [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Universal asynchronous receiver/transmitter] and similar asynchronous communication protocols with various baudrates, stop bit settings, parity settings and so on.<br />
<br />
== Hardware ==<br />
<br />
=== V&A VA18B multimeter cable ===<br />
<br />
The [http://sigrok.org/gitweb/?p=sigrok-dumps.git;a=tree;f=uart/v_and_a_va18b_cable uart/v_and_a_va18b_cable] directory in sigrok-dumps contains a set of example captures of the UART communication on the [[V&A VA18B]] multimeter PC cable (captured on the RX/TX pins of the Prolific PL2303HX chip in that cable). Additionally, it also contains the IR LED "probe" as well as USB D+/D- probes in the same capture.<br />
<br />
The logic analyzer used was a [[Saleae Logic]] (at 16MHz). <br />
<br />
'''Probe setup:'''<br />
<br />
{| border="0" style="font-size: smaller" class="alternategrey sortable sigroktable"<br />
|-<br />
!Probe<br />
!Pin/chip<br />
<br />
|-<br />
| 1 (black) || IR LED<br />
|-<br />
| 2 (brown) || TX (PL2303HX)<br />
|-<br />
| 3 (red) || RX (PL2303HX)<br />
|-<br />
| 4 (orange) || USB DM<br />
|-<br />
| 5 (yellow) || USB DP<br />
<br />
|}<br />
<br />
'''Photos:'''<br />
<br />
<gallery><br />
File:Va va18b probing pcb.jpg<br />
File:Va va18b probing chip.jpg<br />
File:Va va18b probing setup.jpg<br />
</gallery><br />
<br />
== Protocol ==<br />
<br />
[https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Universal Asynchronous Receiver Transmitter] (UART) is a simple serial communication protocol which allows two devices to talk to each other. It uses just two data signals and a ground (GND) signal:<br />
<br />
* '''RX/RXD''': Receive signal<br />
* '''TX/TXD''': Transmit signal<br />
<br />
The protocol is asynchronous, i.e., there is no dedicated clock signal. Rather, both devices have to agree on a baudrate (number of bits to be transmitted per second) beforehand. Baudrates can be arbitrary in theory, but usually the choice is limited by the hardware UARTs that are used. Common values are '''9600''' or '''115200'''.<br />
<br />
The protocol allows full-duplex transmission, i.e. both devices can send data at the same time. However, unlike SPI (which is always full-duplex, i.e., each send operation is automatically also a receive operation), UART allows one-way communication, too. In such a case only one signal (and GND) is required.<br />
<br />
The data is sent over the TX line in so-called '''frames''', which consist of:<br />
<br />
* Exactly '''one start bit''' (always 0/low).<br />
* Between 5 and 9 '''data bits'''.<br />
* An (optional) '''parity bit'''.<br />
* One or more '''stop bit(s)'''.<br />
<br />
The idle state of the RX/TX line is 1/high. As the start bit is 0/low, the receiver can continually monitor its RX line for a falling edge, in order to detect the start bit. Once detected, it can (due to the agreed-upon baudrate and thus the known width/duration of one UART bit) sample the state of the RX line "in the middle" of each (start/data/parity/stop) bit it wants to analyze.<br />
<br />
It is configurable whether there is a '''parity bit''' in a frame, and if yes, which '''type of parity''' is used:<br />
<br />
* '''None''': No parity bit is included.<br />
* '''Odd''': The number of 1 bits in the data (and parity bit itself) is odd.<br />
* '''Even''': The number of 1 bits in the data (and parity bit itself) is even.<br />
* '''Mark/one''': The parity bit is always 1/high (also called 'mark state').<br />
* '''Space/zero''': The parity bit is always 0/low (also called 'space state').<br />
<br />
It is also configurable how many '''stop bits''' are to be used:<br />
<br />
* '''1 stop bit''' (most common case)<br />
* '''2 stop bits'''<br />
* '''1.5 stop bits''' (i.e., one stop bit, but 1.5 times the UART bit width)<br />
* '''0.5 stop bits''' (i.e., one stop bit, but 0.5 times the UART bit width)<br />
<br />
The '''bit order''' of the 5-9 data bits is usually '''LSB-first'''.<br />
<br />
Possible special cases:<br />
<br />
* One or both data lines could be inverted, which also means that the idle state of the signal line(s) is low instead of high.<br />
* Only the data bits on one or both data lines (and the parity bit) could be inverted (but the start/stop bits remain non-inverted).<br />
* The bit order could be MSB-first instead of LSB-first.<br />
* The baudrate could change in the middle of the communication. This only happens in very special cases, and can only work if both devices know to which baudrate they are to switch, and when.<br />
* Theoretically, the baudrate on RX and the one on TX could also be different, but that's a very obscure case and probably doesn't happen very often in practice.<br />
<br />
Error conditions:<br />
<br />
* If there is a parity bit, but it doesn't match the expected parity, this is called a '''parity error'''.<br />
* If there are no stop bit(s), that's called a '''frame error'''.<br />
<br />
== Resources ==<br />
<br />
* [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Wikipedia: Universal asynchronous receiver/transmitter]<br />
* [http://www.lammertbies.nl/comm/info/RS-232_specs.html lammertbies.nl: RS232 Specifications and standard]<br />
* [http://www.wcscnet.com/Tutorials/SerialComm/Page1.htm wcscnet.com: Introduction To RS232 Serial Communication]<br />
* [http://www.freebsd.org/doc/en_US.ISO8859-1/articles/serial-uart/ freebsd.org: Serial and UART Tutorial]<br />
* [http://controls.ame.nd.edu/microcontroller/main/node24.html controls.ame.nd.edu: RS-232 Serial Protocol]<br />
<br />
[[Category:Protocol decoder]]<br />
[[Category:UART]]</div>
Platypus
https://sigrok.org/w/index.php?title=Protocol_decoder:Easymatic&diff=12914
Protocol decoder:Easymatic
2017-11-21T09:50:21Z
<p>Platypus: Created page with "{{Infobox protocol decoder | id = easymatic | name = EASYMATIC | description = Asynchronous, serial bus | status = planned | license..."</p>
<hr />
<div>{{Infobox protocol decoder<br />
| id = easymatic<br />
| name = EASYMATIC<br />
| description = Asynchronous, serial bus<br />
| status = planned<br />
| license = GPLv2+<br />
| source_code_dir = uart<br />
| image = [[File:Rxtx.jpg|250px]]<br />
| input = logic<br />
| output = uart<br />
| probes = &mdash;<br />
| optional_probes = RX, TX<br />
| options = baudrate, num_data_bits, parity_type, parity_check, num_stop_bits, bit_order, format, invert_rx, invert_tx<br />
}}<br />
<br />
The '''uart''' protocol decoder (a.k.a. RS232) can decode the [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Universal asynchronous receiver/transmitter] and similar asynchronous communication protocols with various baudrates, stop bit settings, parity settings and so on.<br />
<br />
== Hardware ==<br />
<br />
=== V&A VA18B multimeter cable ===<br />
<br />
The [http://sigrok.org/gitweb/?p=sigrok-dumps.git;a=tree;f=uart/v_and_a_va18b_cable uart/v_and_a_va18b_cable] directory in sigrok-dumps contains a set of example captures of the UART communication on the [[V&A VA18B]] multimeter PC cable (captured on the RX/TX pins of the Prolific PL2303HX chip in that cable). Additionally, it also contains the IR LED "probe" as well as USB D+/D- probes in the same capture.<br />
<br />
The logic analyzer used was a [[Saleae Logic]] (at 16MHz). <br />
<br />
'''Probe setup:'''<br />
<br />
{| border="0" style="font-size: smaller" class="alternategrey sortable sigroktable"<br />
|-<br />
!Probe<br />
!Pin/chip<br />
<br />
|-<br />
| 1 (black) || IR LED<br />
|-<br />
| 2 (brown) || TX (PL2303HX)<br />
|-<br />
| 3 (red) || RX (PL2303HX)<br />
|-<br />
| 4 (orange) || USB DM<br />
|-<br />
| 5 (yellow) || USB DP<br />
<br />
|}<br />
<br />
'''Photos:'''<br />
<br />
<gallery><br />
File:Va va18b probing pcb.jpg<br />
File:Va va18b probing chip.jpg<br />
File:Va va18b probing setup.jpg<br />
</gallery><br />
<br />
== Protocol ==<br />
<br />
[https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Universal Asynchronous Receiver Transmitter] (UART) is a simple serial communication protocol which allows two devices to talk to each other. It uses just two data signals and a ground (GND) signal:<br />
<br />
* '''RX/RXD''': Receive signal<br />
* '''TX/TXD''': Transmit signal<br />
<br />
The protocol is asynchronous, i.e., there is no dedicated clock signal. Rather, both devices have to agree on a baudrate (number of bits to be transmitted per second) beforehand. Baudrates can be arbitrary in theory, but usually the choice is limited by the hardware UARTs that are used. Common values are '''9600''' or '''115200'''.<br />
<br />
The protocol allows full-duplex transmission, i.e. both devices can send data at the same time. However, unlike SPI (which is always full-duplex, i.e., each send operation is automatically also a receive operation), UART allows one-way communication, too. In such a case only one signal (and GND) is required.<br />
<br />
The data is sent over the TX line in so-called '''frames''', which consist of:<br />
<br />
* Exactly '''one start bit''' (always 0/low).<br />
* Between 5 and 9 '''data bits'''.<br />
* An (optional) '''parity bit'''.<br />
* One or more '''stop bit(s)'''.<br />
<br />
The idle state of the RX/TX line is 1/high. As the start bit is 0/low, the receiver can continually monitor its RX line for a falling edge, in order to detect the start bit. Once detected, it can (due to the agreed-upon baudrate and thus the known width/duration of one UART bit) sample the state of the RX line "in the middle" of each (start/data/parity/stop) bit it wants to analyze.<br />
<br />
It is configurable whether there is a '''parity bit''' in a frame, and if yes, which '''type of parity''' is used:<br />
<br />
* '''None''': No parity bit is included.<br />
* '''Odd''': The number of 1 bits in the data (and parity bit itself) is odd.<br />
* '''Even''': The number of 1 bits in the data (and parity bit itself) is even.<br />
* '''Mark/one''': The parity bit is always 1/high (also called 'mark state').<br />
* '''Space/zero''': The parity bit is always 0/low (also called 'space state').<br />
<br />
It is also configurable how many '''stop bits''' are to be used:<br />
<br />
* '''1 stop bit''' (most common case)<br />
* '''2 stop bits'''<br />
* '''1.5 stop bits''' (i.e., one stop bit, but 1.5 times the UART bit width)<br />
* '''0.5 stop bits''' (i.e., one stop bit, but 0.5 times the UART bit width)<br />
<br />
The '''bit order''' of the 5-9 data bits is usually '''LSB-first'''.<br />
<br />
Possible special cases:<br />
<br />
* One or both data lines could be inverted, which also means that the idle state of the signal line(s) is low instead of high.<br />
* Only the data bits on one or both data lines (and the parity bit) could be inverted (but the start/stop bits remain non-inverted).<br />
* The bit order could be MSB-first instead of LSB-first.<br />
* The baudrate could change in the middle of the communication. This only happens in very special cases, and can only work if both devices know to which baudrate they are to switch, and when.<br />
* Theoretically, the baudrate on RX and the one on TX could also be different, but that's a very obscure case and probably doesn't happen very often in practice.<br />
<br />
Error conditions:<br />
<br />
* If there is a parity bit, but it doesn't match the expected parity, this is called a '''parity error'''.<br />
* If there are no stop bit(s), that's called a '''frame error'''.<br />
<br />
== Resources ==<br />
<br />
* [https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter Wikipedia: Universal asynchronous receiver/transmitter]<br />
* [http://www.lammertbies.nl/comm/info/RS-232_specs.html lammertbies.nl: RS232 Specifications and standard]<br />
* [http://www.wcscnet.com/Tutorials/SerialComm/Page1.htm wcscnet.com: Introduction To RS232 Serial Communication]<br />
* [http://www.freebsd.org/doc/en_US.ISO8859-1/articles/serial-uart/ freebsd.org: Serial and UART Tutorial]<br />
* [http://controls.ame.nd.edu/microcontroller/main/node24.html controls.ame.nd.edu: RS-232 Serial Protocol]<br />
<br />
[[Category:Protocol decoder]]<br />
[[Category:UART]]</div>
Platypus