int initChip(void){
    /* Set boot */
    uart_set_rts(0);
    reset();
  unsigned char cmd[] = {0x7F};
    uart_write(cmd, 1);       /* tell bootloader to startup */
    time_sleep(0.1); //need this for some reason
    int ok = wait_for_ask();
    if(ok){
      mdebug(0, "init success");
    }
    else{
      mdebug(0, "init failed");
    }

    return ok;
}
static void handle_set_rts(const char *req, int *req_index)
{
    int val;
    if (ei_decode_boolean(req, req_index, &val) < 0) {
        send_error_response("einval");
        return;
    }

    if (!uart_is_open(uart)) {
        send_error_response("ebadf");
        return;
    }

    if (uart_set_rts(uart, !!val) >= 0)
        send_ok_response();
    else
        send_error_response(uart_last_error());
}
void releaseChip(void){
    uart_set_rts(1);
    reset();
}