Conflicts: firmware/slavechip/filter.c firmware/slavechip/main.cmaster
commit
37bb9bde1e
@ -1,38 +1,21 @@
|
||||
#include "debug.h"
|
||||
#include <stdio.h>
|
||||
#include "ringbuf_small.h"
|
||||
|
||||
char debugStr[DEBUGCHARS];
|
||||
volatile char dbgCurChar;
|
||||
volatile uint8_t dbgStrFill; // amount of available chars in debugStr
|
||||
volatile uint8_t dbgHasNewSPI;
|
||||
ringbuf_t rb;
|
||||
char dbuf[DEBUGCHARS];
|
||||
|
||||
void dbgLog(const char* fmt, ...) {
|
||||
uint8_t maxwrite = DEBUGCHARS - dbgStrFill;
|
||||
va_list va;
|
||||
va_start(va,fmt);
|
||||
char* pos = debugStr + dbgStrFill;
|
||||
dbgStrFill += vsnprintf(pos, maxwrite, fmt, va);
|
||||
va_end(va);
|
||||
}
|
||||
FILE mystdout = FDEV_SETUP_STREAM(dbg_putchar, NULL,
|
||||
_FDEV_SETUP_WRITE);
|
||||
|
||||
uint8_t dbgHasNew() {
|
||||
dbgHasNewSPI = (dbgStrFill > 0);
|
||||
return (dbgStrFill > 0);
|
||||
void dbg_init() {
|
||||
ringbuf_init(&rb,dbuf,sizeof(dbuf));
|
||||
|
||||
}
|
||||
|
||||
char dbgReadChar() {
|
||||
if(dbgHasNew()) {
|
||||
char ret = debugStr[0];
|
||||
for(int i=0; i<dbgStrFill-1; i++) {
|
||||
debugStr[i] = debugStr[i+1];
|
||||
}
|
||||
dbgStrFill--;
|
||||
return ret;
|
||||
} else {
|
||||
return 0xFF;
|
||||
}
|
||||
uint8_t dbg_putchar(char c, FILE *stream) {
|
||||
return ringbuf_put(&rb, (uint8_t) c);
|
||||
}
|
||||
|
||||
void dbgAdvanceChar() {
|
||||
dbgCurChar = dbgReadChar();
|
||||
int16_t dbg_getchar(int16_t dummy) {
|
||||
return ringbuf_get(&rb);
|
||||
}
|
||||
|
||||
@ -1,15 +1,13 @@
|
||||
#include "spi_pointers.h"
|
||||
#include "main.h"
|
||||
#include "debug.h"
|
||||
|
||||
uint8_t *spi_proto_globals8[] = {
|
||||
&dbgHasNewSPI,
|
||||
&dbgCurChar
|
||||
};
|
||||
|
||||
uint16_t *spi_proto_globals16[] = {
|
||||
};
|
||||
|
||||
funptr_t spi_proto_funcs[] = {
|
||||
&dbgHasNew,
|
||||
&dbgAdvanceChar
|
||||
&dbg_getchar
|
||||
};
|
||||
|
||||
Loading…
Reference in new issue