You are not logged in.
Pages: 1
Is implemeting CSMA on Simple Serial simply a matter of adding
void kiss_csma(AX25Ctx *ctx, uint8_t *buf, size_t len);
to the SimpleSerial.h file?
I havent been able to find any other locations where CSMA is configured?
Thanks
Offline
I guess in the MicroModemGP protocol (which is teh one I will likely use for a serial data application) one would add
void kiss_csma(LLPCtx *ctx, uint8_t *buf, size_t len);
to the LLP.h file ?
Thanks for your help.
Henry
Offline
I think that you have only to enable SERIAL_FRAMIMG_DIRECT in confing.h in MicroModemGP
Try in this way. I didn't studied sources enought to be sure.
Offline
The MicroModemGP is default Serial Direst and wo CSMA. (As I understand it). So there is no need to enable Serial. So Im stuck as to how to enable CSMA still. Any help would be appreciated.
Thanks
Henry
Offline
Hi Henry!
Sorry for the slow reply on this! In the newest MicroModemGP (commit 207898041ca6e4a0f989110568a5180e693f9e75), CSMA is already enabled, no matter if you use KISS or direct serial framing. I know it's a little confusing, but take a look at line 92 of "KISS.c":
void kiss_checkTimeout(bool force) {
if (force || (IN_FRAME && timer_clock() - timeout_ticks > ms_to_ticks(TX_MAXWAIT))) {
kiss_csma(llpCtx, serialBuffer, frame_len);
IN_FRAME = false;
frame_len = 0;
}
}
Here the CSMA procedure is called when using direct serial framing
Offline
Pages: 1