1: int32_t AG903_BMUMgrGetStatus(
AG903_BMUMgrHandle *handle,
AG903_BMUMgrStatus *status)
2: {
3: uint32_t unit = (handle - handle_list);
4:
5:
6:
if(unit >=
AG903_BMU_UNIT_NUM || &handle_list[unit] != handle)
7: {
8:
return -
AG903_EINVAL;
9: }
10:
11:
BMUPrmParamSTAT regstat;
12:
AG903_BMUPrmGetSTAT(unit, ®stat);
13: status->is_valid = (uint8_t)regstat.val;
14: status->is_empty = (uint8_t)regstat.empty;
15: status->is_read_wait_appeared = (uint8_t)regstat.rwa;
16: status->is_read_busy = (uint8_t)regstat.rbsy;
17: status->read_module_num = (uint8_t)regstat.rnum;
18: status->is_full = (uint8_t)regstat.full;
19: status->is_write_wait_appeared = (uint8_t)regstat.wwa;
20: status->is_write_busy = (uint8_t)regstat.wbsy;
21: status->write_module_num = (uint8_t)regstat.wnum;
22:
23:
return AG903_ENONE;
24: }