mirror of
https://github.com/infiniteCable2/panda.git
synced 2026-02-19 01:33:52 +08:00
* Let refactoring begin! * Fix pedal build * Fix pedal safety tests * Forgot few TIM2 instances * Try this way with misra * More misras... * More misras... * Still fighting with misra blindfolded * Almost got it! * Last misra error.. * Last misra error.. * Misra works locally.. * Maybe this? * Looks like it was cppcheck bug, revert changes * Suggested changes and reverts * File structure change * revert includes * remove spaces * remove timer delay * endings * more typing * rename early to early_initialization * Remove delay_us * Revert RTC default values * Revert initialization sequence * Fix quotes * Revert * Return TIM6EN * Alias slow timer to TICK_TIMER * Refactor files structure * Remove definition of PANDA * Abstract timers * Fix include * tick_timer_init * Split usb driver * Move LL stuff: adc * Move LL stuff: usb * Fix include again... * Will check pedal builds also locally.. * Move LL stuff: CAN * Move LL stuff: clock * Rename common to peripherals and move * Move board HAL * Change include, not needed for pedal * llgpio to gpio and new lines fix * remove board_has_relay, not used * Remove board_functions.h and add to board struct * Move include * Fk MISRA... * has_onboard_gmlan to has_hw_gmlan * Typos * Move board_declarations include * Shuffle * More abstraction * fix paths, fix cppcheck test * Fix for pedal build with USB
42 lines
730 B
C
42 lines
730 B
C
// **** libc ****
|
|
|
|
void delay(uint32_t a) {
|
|
volatile uint32_t i;
|
|
for (i = 0; i < a; i++);
|
|
}
|
|
|
|
void *memset(void *str, int c, unsigned int n) {
|
|
uint8_t *s = str;
|
|
for (unsigned int i = 0; i < n; i++) {
|
|
*s = c;
|
|
s++;
|
|
}
|
|
return str;
|
|
}
|
|
|
|
void *memcpy(void *dest, const void *src, unsigned int n) {
|
|
uint8_t *d = dest;
|
|
const uint8_t *s = src;
|
|
for (unsigned int i = 0; i < n; i++) {
|
|
*d = *s;
|
|
d++;
|
|
s++;
|
|
}
|
|
return dest;
|
|
}
|
|
|
|
int memcmp(const void * ptr1, const void * ptr2, unsigned int num) {
|
|
int ret = 0;
|
|
const uint8_t *p1 = ptr1;
|
|
const uint8_t *p2 = ptr2;
|
|
for (unsigned int i = 0; i < num; i++) {
|
|
if (*p1 != *p2) {
|
|
ret = -1;
|
|
break;
|
|
}
|
|
p1++;
|
|
p2++;
|
|
}
|
|
return ret;
|
|
}
|