66 lines
2.6 KiB
C
66 lines
2.6 KiB
C
#include <core/gpio/gpio.h>
|
|
#include "basic/basic.h"
|
|
#include "../simcore/simulator.h"
|
|
|
|
static bool compair(uint32_t a1, uint32_t a2, uint32_t b1, uint32_t b2) {
|
|
return a1==b1 && a2==b2;
|
|
}
|
|
|
|
void gpioInit (void) {
|
|
printf("void gpioInit (void)\n");
|
|
}
|
|
|
|
void gpioSetDir (uint32_t portNum, uint32_t bitPos, gpioDirection_t dir) {
|
|
printf("void gpioSetDir (portNum %d, bitPos %d, dir %x)\n",portNum,bitPos,dir);
|
|
}
|
|
|
|
uint32_t gpioGetValue (uint32_t portNum, uint32_t bitPos) {
|
|
if(compair(portNum, bitPos, RB_BTN3)) return simButtonPressed(BTN_UP);
|
|
if(compair(portNum, bitPos, RB_BTN2)) return simButtonPressed(BTN_DOWN);
|
|
if(compair(portNum, bitPos, RB_BTN4)) return simButtonPressed(BTN_ENTER);
|
|
if(compair(portNum, bitPos, RB_BTN0)) return simButtonPressed(BTN_LEFT);
|
|
if(compair(portNum, bitPos, RB_BTN1)) return simButtonPressed(BTN_RIGHT);
|
|
|
|
if(compair(portNum, bitPos, RB_LED0)) return simGetLED(0);
|
|
if(compair(portNum, bitPos, RB_LED1)) return simGetLED(1);
|
|
if(compair(portNum, bitPos, RB_LED2)) return simGetLED(2);
|
|
if(compair(portNum, bitPos, RB_LED3)) return simGetLED(3);
|
|
|
|
fprintf(stderr,"Unimplemented gpioGetValue portNum %d %x bit %d\n",portNum, portNum, bitPos);
|
|
return 0;
|
|
}
|
|
|
|
void gpioSetValue (uint32_t portNum, uint32_t bitPos, uint32_t bitVal) {
|
|
if(compair(portNum, bitPos, RB_LED0)) return simSetLED(0,bitVal);
|
|
if(compair(portNum, bitPos, RB_LED1)) return simSetLED(1,bitVal);
|
|
if(compair(portNum, bitPos, RB_LED2)) return simSetLED(2,bitVal);
|
|
if(compair(portNum, bitPos, RB_LED3)) return simSetLED(3,bitVal);
|
|
|
|
fprintf(stderr,"Unimplemented gpioSetValue portNum %d %x bit %d\n",portNum, portNum, bitPos);
|
|
}
|
|
|
|
void gpioSetInterrupt (uint32_t portNum, uint32_t bitPos, gpioInterruptSense_t sense, gpioInterruptEdge_t edge, gpioInterruptEvent_t event) {
|
|
printf("void gpioSetInterrupt (uint32_t portNum, uint32_t bitPos, gpioInterruptSense_t sense, gpioInterruptEdge_t edge, gpioInterruptEvent_t event)\n");
|
|
}
|
|
|
|
void gpioIntEnable (uint32_t portNum, uint32_t bitPos) {
|
|
printf("void gpioIntEnable (uint32_t portNum, uint32_t bitPos)\n");
|
|
}
|
|
|
|
void gpioIntDisable (uint32_t portNum, uint32_t bitPos) {
|
|
printf("void gpioIntDisable (uint32_t portNum, uint32_t bitPos)\n");
|
|
}
|
|
|
|
uint32_t gpioIntStatus (uint32_t portNum, uint32_t bitPos) {
|
|
printf("uint32_t gpioIntStatus (uint32_t portNum, uint32_t bitPos)\n");
|
|
}
|
|
|
|
void gpioIntClear (uint32_t portNum, uint32_t bitPos) {
|
|
printf("void gpioIntClear (uint32_t portNum, uint32_t bitPos)\n");
|
|
}
|
|
|
|
void gpioSetPullup (volatile uint32_t *ioconRegister, gpioPullupMode_t mode) {
|
|
printf("void gpioSetPullup (volatile uint32_t *ioconRegister, gpioPullupMode_t mode)\n");
|
|
}
|
|
|