Main Site Documentation

Small additions for next firmware release?


#1

Can you create an overloaded method for CRC calculation that accepts a single byte?
Because now, when we want to add a byte we need to create an array for this. (And trigger the GC)


crcReg = CRC.CRC_16_CCITT(new byte[] { data }, 0, 1, crcReg);

Don’t forget to remove the RTS spike at the end of each received serial byte.

RS485 support on COM2. RTS could then be used as direction-pin. RTS pin goes high right before the startbit of a byte transmission. RTS goes low immediately after the stopbit (this is done on the THR-empty interrupt).

Hope I’m not asking to much :wink:


#2

[quote]Can you create an overloaded method for CRC calculation that accepts a single byte?
[/quote]

We will look into suggestions, thanks

[quote]Don’t forget to remove the RTS spike at the end of each received serial byte.

RS485 support on COM2. RTS could then be used as direction-pin. RTS pin goes high right before the startbit of a byte transmission. RTS goes low immediately after the stopbit (this is done on the THR-empty interrupt).[/quote]

Those are on the list already. No need for reminders :slight_smile:


#3

Do you need a specific CRC? There are many of them.
You can use Onewire CRC.


#4

In my project I use the 16 bit CCITT a lot in serial communications.


#5

Oh I see, so you need to do a single byte.
In this case just keep a static array and do not allocate it every time.
byte[] array = new byte[1];

and when you do crc:
array[0] = data;
CRC_16_CCIT(array,…);


#6

That’s the method I’m using right now and it works fine.