//======================================================================= // LED_Open - Called when driver opened // Use dwAccess and dwShare flags to manage access rights // DWORD LED_Open(DWORD dwContext, DWORD dwAccess, DWORD dwShare){ PDRVCONTEXT pDrv = (PDRVCONTEXT)dwContext; RETAILMSG(RETAIL_ON, (DTAG TEXT("LED_Open++ dwContext: %x\r\n"), dwContext)); // Verify that the context handle is valid if(pDrv && (pDrv->dwSize != sizeof(DRVCONTEXT))){ return 0; } GPIOREG* pGPIORegs = (GPIOREG*)MapRegister(GPIO_BASE); if (pGPIORegs) { pDrv->pGpioRegs = pGPIORegs; } else { return 0; } initPushButtons(pGPIORegs); initSwitches(pGPIORegs); // Count the number of opens InterlockedIncrement((long *)&pDrv->nNumOpens); RETAILMSG(RETAIL_ON, (TEXT("LED_Open-- \r\n"))); return (DWORD)pDrv; }
void olimex_init() { //WDTCTL = WDTPW + WDTHOLD; //resetIO(); //initLeds(); initPushButtons(); }