1 /*
2  * Copyright (C) 2015-2018 Alibaba Group Holding Limited
3  */
4 
5 #include <mbmaster.h>
6 
status_to_string(mb_status_t status)7 uint8_t* status_to_string(mb_status_t status)
8 {
9     const char *status_string = NULL;
10     switch (status) {
11         case MB_SUCCESS:
12             status_string = "ok";
13             break;
14         case MB_INVALID_SLAVE_ADDR:
15             status_string = "slave address is invalid";
16             break;
17         case MB_INVALID_PARAM:
18             status_string = "invalid parameter";
19             break;
20         case MB_RESPOND_EXCEPTION:
21             status_string = "slave respond EXCEPTION";
22             break;
23         case MB_RESPOND_LENGTH_ERR:
24             status_string = "recv frame length error";
25             break;
26         case MB_RESPOND_FRAME_ERR:
27             status_string = "recv frame error";
28             break;
29         case MB_RESPOND_TIMEOUT:
30             status_string = "slave no respond";
31             break;
32         case MB_CANNOT_GET_HANDLER:
33             status_string = "can't get handler";
34             break;
35         case MB_SLAVE_NO_RESPOND:
36             status_string = "slave no respond";
37             break;
38         case MB_FRAME_SEND_ERR:
39             status_string = "frame send error";
40             break;
41         case MB_SERIAL_INIT_FAILED:
42             status_string = "serial init failed";
43             break;
44         default:
45             status_string = "unknow reson";
46             break;
47     }
48     return (uint8_t*)status_string;
49 }
50