add last_error
This commit is contained in:
parent
4d0f93932d
commit
575d2919cb
|
@ -56,6 +56,7 @@ async_scanner::async_scanner() : usb_(nullptr), cfg_mgr_(nullptr), scan_id_(0)
|
|||
cfg_mgr_ = new device_option(user, on_log);
|
||||
init();
|
||||
usb_ = new async_usb_gadget(bulk_handle, on_connect);
|
||||
last_err_ = usb_->last_error();
|
||||
}
|
||||
|
||||
async_scanner::~async_scanner()
|
||||
|
@ -70,6 +71,7 @@ async_scanner::~async_scanner()
|
|||
cfg_mgr_->clear();
|
||||
delete cfg_mgr_;
|
||||
}
|
||||
utils::uninit();
|
||||
}
|
||||
|
||||
dyn_mem_ptr async_scanner::handle_bulk_cmd(LPPACK_BASE pack, uint32_t* used, packet_data_base_ptr* required)
|
||||
|
@ -372,4 +374,7 @@ uint32_t async_scanner::stop(void)
|
|||
usb_->stop();
|
||||
}
|
||||
}
|
||||
|
||||
int async_scanner::last_error(void)
|
||||
{
|
||||
return last_err_;
|
||||
}
|
||||
|
|
|
@ -26,6 +26,7 @@ class async_scanner : public refer
|
|||
uint32_t scan_id_;
|
||||
uint32_t scan_err_;
|
||||
volatile bool reply_start_;
|
||||
int last_err_ = 0;
|
||||
|
||||
dyn_mem_ptr handle_bulk_cmd(LPPACK_BASE pack, uint32_t* used, packet_data_base_ptr* required);
|
||||
void init(void);
|
||||
|
@ -48,4 +49,5 @@ protected:
|
|||
|
||||
public:
|
||||
uint32_t stop(void);
|
||||
int last_error(void);
|
||||
};
|
||||
|
|
|
@ -39,7 +39,13 @@ int main()
|
|||
exit(-1);
|
||||
}
|
||||
async_scanner *scanner = new async_scanner();
|
||||
|
||||
while(1) {std::this_thread::sleep_for(std::chrono::milliseconds(2));}
|
||||
int err = scanner->last_error();
|
||||
|
||||
if(err == 0)
|
||||
while(1) {std::this_thread::sleep_for(std::chrono::milliseconds(2));}
|
||||
|
||||
scanner->stop();
|
||||
scanner->release();
|
||||
|
||||
return 0;
|
||||
}
|
|
@ -1067,6 +1067,7 @@ namespace utils
|
|||
if (fn_appendix)
|
||||
file += fn_appendix;
|
||||
file += ".log";
|
||||
printf("log file: %s\n", file.c_str());
|
||||
}
|
||||
|
||||
log_cls::instance()->set_log_type(type, &file[0]);
|
||||
|
|
|
@ -384,12 +384,20 @@ int usb_device::config_device(bool ffs_mode)
|
|||
{
|
||||
if(ffs_mode)
|
||||
{
|
||||
ret = write(gadget_.usb_device, &ffs_strs_, sizeof(ffs_strs_));
|
||||
if(ret)
|
||||
ret = write(gadget_.usb_device, &ffs_strs_, ffs_strs_.header.length);
|
||||
if(ret != ffs_strs_.header.length)
|
||||
{
|
||||
ret = errno;
|
||||
utils::to_log(LOG_LEVEL_FATAL, "config device with ffs_strings failed: %d - %s\n", errno, strerror(errno));
|
||||
}
|
||||
else
|
||||
{
|
||||
ret = 0;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ret = 0;
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
|
@ -25,7 +25,7 @@ async_usb_gadget::async_usb_gadget(std::function<FUNCTION_PROTO_COMMAND_HANDLE>
|
|||
dev_ = new usb_device("fe900000.dwc3", "/opt/cfg/usb_gadget/g1/UDC", "linaro");
|
||||
dev_->add_endpoint(USB_EP_BULK_IN, true, true);
|
||||
dev_->add_endpoint(USB_EP_BULK_OUT, true, false);
|
||||
if(dev_->open_device(USB_DEV, true))
|
||||
if((last_err_ = dev_->open_device(USB_DEV, true)))
|
||||
{
|
||||
dev_->release();
|
||||
dev_ = nullptr;
|
||||
|
@ -634,3 +634,7 @@ int async_usb_gadget::write_bulk(data_source_ptr data)
|
|||
|
||||
return quel;
|
||||
}
|
||||
int async_usb_gadget::last_error(void)
|
||||
{
|
||||
return last_err_;
|
||||
}
|
|
@ -52,6 +52,7 @@ class async_usb_gadget : public refer
|
|||
uint32_t enc_head_;
|
||||
uint32_t enc_payload_;
|
||||
uint8_t enc_data_;
|
||||
int last_err_ = 0;
|
||||
|
||||
volatile EP0REPLYSTATUS status_;
|
||||
safe_fifo<dyn_mem_ptr> cmd_que_;
|
||||
|
@ -94,5 +95,6 @@ protected:
|
|||
public:
|
||||
int stop(void);
|
||||
int write_bulk(data_source_ptr data); // return sent-que length
|
||||
int last_error(void);
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue