FIX: the lfsampling.c for t55xx had a tendecy to enter a neverending loop. Moved exit branch into the while statement, which seems to solve it.

FIX: Strange int -> uint8_t casting behavior  (0x05 gets the 25bit set and becomes 0x10005 instead) in fskdemod,  removed int and sscanf.
This commit is contained in:
iceman1001 2015-12-01 22:38:37 +01:00
commit 3f26796673
3 changed files with 21 additions and 22 deletions

View file

@ -271,7 +271,7 @@ void doT55x7Acquisition(size_t sample_size) {
uint8_t curSample = 0;
uint8_t lastSample = 0;
uint16_t skipCnt = 0;
while(!BUTTON_PRESS() && !usb_poll_validate_length() && skipCnt<1000) {
while(!BUTTON_PRESS() && !usb_poll_validate_length() && skipCnt < 1000 && (i < bufsize) ) {
WDT_HIT();
if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) {
AT91C_BASE_SSC->SSC_THR = 0x43;
@ -306,11 +306,10 @@ void doT55x7Acquisition(size_t sample_size) {
// if just found start - recover last sample
if (!startFound) {
dest[i++] = lastSample;
startFound = true;
startFound = true;
}
// collect samples
dest[i++] = curSample;
if (i >= bufsize-1) break;
}
}
}