1: int32_t AG903_BMUMgrSetMode(
AG903_BMUMgrHandle *handle, uint8_t ini, uint8_t mgr)
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:
12:
if(handle->is_exec)
13: {
14:
return -
AG903_EBUSY;
15: }
16:
17:
18:
if(ini >
AG903_BMU_SINK_WAIT_DISABLE)
19: {
20:
return -
AG903_EINVAL;
21: }
22:
23:
if(mgr >
AG903_BMU_BUF_MGR_MODE3)
24: {
25:
return -
AG903_EINVAL;
26: }
27:
28: uint8_t cini, cmgr, csrc;
29:
AG903_BMUPrmGetMOD(unit, &cini, &cmgr, &csrc);
30:
AG903_BMUPrmSetMOD(unit, ini, mgr, csrc);
31:
32:
return AG903_ENONE;
33: }