common.c 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <stdint.h>
  4. #include <string.h>
  5. #include "Config.h"
  6. #include "Define/define.h"
  7. #include "ShareMemory/shmMem.h"
  8. //------------------------------------------------------------------------------
  9. void trim(char *s)
  10. {
  11. int i = 0, j, k, l = 0;
  12. while ((s[i] == ' ') || (s[i] == '\t') || (s[i] == '\n')) {
  13. i++;
  14. }
  15. j = strlen(s) - 1;
  16. while ((s[j] == ' ') || (s[j] == '\t') || (s[j] == '\n')) {
  17. j--;
  18. }
  19. if (i == 0 && j == strlen(s) - 1) { }
  20. else if (i == 0) { s[j + 1] = '\0'; }
  21. else {
  22. for (k = i; k <= j; k++) { s[l++] = s[k]; }
  23. s[l] = '\0';
  24. }
  25. }
  26. int mystrcmp(char *p1, char *p2)
  27. {
  28. while (*p1 == *p2) {
  29. if (*p1 == '\0' || *p2 == '\0') {
  30. break;
  31. }
  32. p1++;
  33. p2++;
  34. }
  35. if (*p1 == '\0' && *p2 == '\0') {
  36. return (PASS);
  37. } else {
  38. return (FAIL);
  39. }
  40. }
  41. void substr(char *dest, const char *src, uint32_t start, uint32_t cnt)
  42. {
  43. strncpy(dest, src + start, cnt);
  44. dest[cnt] = 0;
  45. }
  46. void split(char **arr, char *str, const char *del)
  47. {
  48. char *s = strtok(str, del);
  49. while (s != NULL) {
  50. *arr++ = s;
  51. s = strtok(NULL, del);
  52. }
  53. }
  54. bool IntoChargeProcess(int status)
  55. {
  56. if ((status >= S_AUTHORIZING && status <= S_CHARGING) ||
  57. status == S_CCS_PRECHARGE_ST0 || status == S_CCS_PRECHARGE_ST1) {
  58. return TRUE;
  59. }
  60. return FALSE;
  61. }
  62. bool IntoOperateProcess(int status)
  63. {
  64. if ((status >= S_AUTHORIZING && status <= S_ALARM) ||
  65. status == S_CCS_PRECHARGE_ST0 || status == S_CCS_PRECHARGE_ST1) {
  66. return TRUE;
  67. }
  68. return FALSE;
  69. }
  70. char* GetStatusName(int status)
  71. {
  72. switch (status) {
  73. case S_BOOTING: return "BOOTING"; break;
  74. case S_IDLE: return "IDLE"; break;
  75. case S_AUTHORIZING: return "AUTHORIZING"; break;
  76. case S_REASSIGN_CHECK: return "REASSIGN_CHECK"; break;
  77. case S_REASSIGN: return "REASSIGN"; break;
  78. case S_PREPARNING: return "PREPARING"; break;
  79. case S_PREPARING_FOR_EV: return "PREPARING_FOR_EV"; break;
  80. case S_PREPARING_FOR_EVSE: return "PREPARING_FOR_EVSE"; break;
  81. case S_CHARGING: return "CHARGING"; break;
  82. case S_TERMINATING: return "TERMINATING"; break;
  83. case S_COMPLETE: return "COMPLETE"; break;
  84. case S_ALARM: return "ALARM"; break;
  85. case S_FAULT: return "FAULT"; break;
  86. case S_RESERVATION: return "RESERVATION"; break;
  87. case S_BOOKING: return "BOOKNG"; break;
  88. case S_MAINTAIN: return "MAINTAIN"; break;
  89. case S_DEBUG: return "DEBUG"; break;
  90. case S_CCS_PRECHARGE_ST0: return "CCS_PRECHARGE_ST0"; break;
  91. case S_CCS_PRECHARGE_ST1: return "CCS_PRECHARGE_ST1"; break;
  92. case S_UPDATE: return "UPDATE"; break;
  93. case S_NONE: return "NONE"; break;
  94. }
  95. return "";
  96. }