Packetization character for MAVLink protocol

Ladies and Gentlemen, i seek help with implementation of MAVLink protocol over WIZ750.
The firmware supports packetization character to be configured, but unfortunately it acts as packet “closing” character. The MAVLink protocol uses packet “opening” character of 0xFE.
I need this to be implemented two-way, both at the WIZ750 board and the Virtual Serial Port at the WIndows PC side as well.

Can somebody help me to change the firmware to use this character to act as packet start condition?
As Is:
when packetization character is received the data collected in the buffer forms a packet and the packet is sent over the Ethernet/UART.
To Be (desired behavior):
when the packetization character is received the data collected in the buffer forms a packet excluding the last received character (the packet marker). This marker character should stay in the buffer to be included in the beginning of next packet.

Thanks in advance for your help or suggestion.
LZ7AA Kiril

I think you should use the Serial data packing condition(character) in the configuration tool.
Serial data packing condition(character) :

  • Collects the data until the designated character is entered and sent together.
  • The designated character will be included if the data size does not exceed the buffer size. The designated character will be excluded if the data size exceeds the buffer size.

Hello Irina,

Thank you for your prompt reply. Unfortunately this doesn’t work in my situation.

The main logic is right. The condition for the termination character assumes the stop character is received at the end of the packet, which isn’t right.

My situation (MAVLink protocol) uses termination character at the beginning of the packet. So I need to change the condition of this character from end-of-packet to beginning-of packet.

I have no possibility to use the packet length field as my packets vary from 10 to 130 characters. The only usable designator is the start character (0xFE).

Is it more clear now?

I am aware my request is not standard and the standard options in the software are not sufficient.

Can you put me in touch with some of your developers to discuss the matter further?

The change is not big, as the mechanism already exists, I just don’t know where this piece of code is, how to change the source code, compile it and then flash the device. I need help with this.

I guess many other protocols use starting rather than closing character for their packets and this new feature will help your product to become even greater.

I am ready to supply the logic and the algorithm to your software engineers and then help them with the testing and QA. Once we are ready you can include the new feature in your next release.

The MAVLink protocol is broadly used in multicopter drones and will be of interest to those drone users as your device provides capability to control the drone via 3G (mobile GPRS) modem at much longer distances. The market opportunity for you is significant.

Please escalate my ticket to whom you find appropriate in your software development department.

Thanks in advance,

Kiril Sokolov

Sorry for the late reply
I think we can’t apply the contents with the firmware that is currently provided.
We need to create new firmware for that protocol, which can be costly.

All right Irina, thank you.
I expected the firmware and the PC application have to be modified.
Please contact me with a quote on the development cost or at least give me an indicative price.

WIZ750SR firmware is in the public domain and you can download the firmware through github website.
Therefore you can modify the firmware as you want.
Even then you want us to modify the code, you should give me the exact spec. The exact spec mean the method of process about Serial to ethernet operation. Also we don’t know about MAVLink Protocol and we have difficulty applying about MAVLink Protocol.

As you said,It can be changed without difficulty from “end” character to “start” character in serial data packing condition. When “start” character change the character of in serial data packet condition, is it necessary to send packets one byte at a time until the next start?