Files
@ 8f02a0213d08
Branch filter:
Location: therm/stringhelpers.c - annotation
8f02a0213d08
1.4 KiB
text/plain
Added gpio, spi, and clock init. May need to swap stdperiph to the one thrown out by the cube
91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 91fbdc7bc1b8 | #include <inttypes.h>
char* itoa(int16_t i, char b[]){
char const digit[] = "0123456789";
char* p = b;
if(i<0){
*p++ = '-';
i *= -1;
}
uint16_t shifter = i;
do{ //Move to where representation ends
++p;
shifter = shifter/10;
}while(shifter);
*p = '\0';
do{ //Move back, inserting digits as you go
*--p = digit[i%10];
i = i/10;
}while(i);
return b;
}
char* itoa_fp(int16_t i, uint8_t frac, char b[]){
char const digit[] = "0123456789";
// set p to beginning of char array
char* p = b;
// If negative, set current char to '-' and inc, unnegate number
if(i<0){
*p++ = '-';
i *= -1;
}
// Init shifter to numeric value
uint16_t shifter = i;
uint16_t frac_shifter = frac;
// Iterate through 10s places, incrementing text pointer as we go
do{
++p;
shifter = shifter/10;
}while(shifter);
++p; // increment for decimal point
do{
++p;
frac_shifter = frac_shifter/10;
}while(frac_shifter);
// Null-terminate the string
*p = '\0';
// Go backwards and write out fractional digits
do{
*--p = digit[frac%10];
frac = frac/10;
}while(frac);
*--p = '.'; // insert decimal point
// Go backwards and write out remaining digits
do{
*--p = digit[i%10];
i = i/10;
}while(i);
return b;
}
|