- int i = 0;
-
- memset(dest,128,size);
- for(;;) {
- if(AT91C_BASE_SSC->SSC_SR & (AT91C_SSC_TXRDY)) {
- AT91C_BASE_SSC->SSC_THR = 0x43;
- if (ledcontrol) LED_D_ON();
- }
- if(AT91C_BASE_SSC->SSC_SR & (AT91C_SSC_RXRDY)) {
- dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR;
- // we don't care about actual value, only if it's more or less than a
- // threshold essentially we capture zero crossings for later analysis
- if(dest[i] < 127) dest[i] = 0; else dest[i] = 1;
- i++;
- if (ledcontrol) LED_D_OFF();
- if(i >= size) {
- break;
- }
- }
- }
-}
-
-uint8_t fsk_demod(uint8_t * dest, int size)
-{
- uint8_t last_transition = 0;
- uint8_t idx = 1;