int Lua_GetGPIO(lua_State *L) { unsigned int state = 0; if (lua_gettop(L) >= 1) { unsigned int channel = (unsigned int)lua_tointeger(L,1); state = GPIO_get(channel); } lua_pushinteger(L, state); return 1; }
static int gpio_get(const USB_Setup_TypeDef *setup) { CHECK_SETUP_IN(USBTHING_CMD_GPIO_GET_SIZE); uint8_t pin = setup->wIndex; struct usbthing_ctrl_s *ctrl = (struct usbthing_ctrl_s*)&cmd_buffer; ctrl->gpio_cmd.get.level = GPIO_get(pin); //TODO: respond return USBD_Write(0, cmd_buffer, USBTHING_CMD_GPIO_GET_SIZE, NULL); }
int isp_btn_pressed() { return GPIO_get(ISP_BTN); }