createDefine.sh 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. #/bin/bash
  2. ProjectPath="/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09"
  3. defineFilePath="$ProjectPath/EVSE/Projects/define.h"
  4. workPath="$ProjectPath/EVSE/Projects/DD360Audi/Apps/Define"
  5. filename="$workPath/define.h";
  6. copyFile="$workPath/define.c"
  7. frontKey="/*";
  8. afterKey="*/";
  9. Currency="char Currency\[54\]\[3\]"
  10. FaultCode="char FaultStatusCode\[40\]\[6\]";
  11. AlarmCode="char AlarmStatusCode\[128\]\[6\]";
  12. InfoCode="char InfoStatusCode\[384\]\[6\]";
  13. finalString="#endif // DEFINE_H_";
  14. count=512;
  15. rm -rf $workPath/define.h;
  16. rm -rf $workPath/define.c;
  17. cp -r $defineFilePath $workPath;
  18. # Currency String
  19. line=$(grep -n "$Currency" $filename | cut -d ":" -f 1);
  20. echo $line;
  21. line_n=$(sed -n "$(($line-1))"p $filename);
  22. if [ "$line_n" != "/*" ]
  23. then
  24. rm -rf define.c
  25. echo "#include <stdio.h>
  26. #include <stdlib.h>
  27. #include <stdint.h>
  28. #include \"define.h\"
  29. //------------------------------------------------------------------------------" >> $copyFile
  30. addKey=$line"i $frontKey"
  31. sed -i "$addKey" $filename
  32. line=$(grep -n "$Currency" $filename | cut -d ":" -f 1);
  33. while [ $line -le $(($line+$count)) ]
  34. do
  35. line_n=$(sed -n "$line"p $filename);
  36. #echo $line_n
  37. if [ "$line_n" == "};" ]
  38. then
  39. echo $line_n >> $copyFile;
  40. echo -e >> $copyFile;
  41. line=$line"a $afterKey";
  42. sed -i "$line" $filename;
  43. break;
  44. else
  45. line=$(($line+1));
  46. echo $line_n >> $copyFile;
  47. fi
  48. done
  49. fi
  50. #fault Status code
  51. line=$(grep -n "$FaultCode" $filename | cut -d ":" -f 1);
  52. echo $line;
  53. line_n=$(sed -n "$(($line-1))"p $filename);
  54. if [ "$line_n" != "/*" ]
  55. then
  56. addKey=$line"i $frontKey"
  57. sed -i "$addKey" $filename
  58. line=$(grep -n "$FaultCode" $filename | cut -d ":" -f 1);
  59. while [ $line -le $(($line+$count)) ]
  60. do
  61. line_n=$(sed -n "$line"p $filename);
  62. #echo $line_n
  63. if [ "$line_n" == "};" ]
  64. then
  65. echo $line_n >> $copyFile;
  66. echo -e >> $copyFile;
  67. line=$line"a $afterKey";
  68. sed -i "$line" $filename;
  69. break;
  70. else
  71. line=$(($line+1));
  72. echo $line_n >> $copyFile;
  73. fi
  74. done
  75. fi
  76. #Alarm Status Code
  77. line=$(grep -n "$AlarmCode" $filename | cut -d ":" -f 1);
  78. echo $line;
  79. line_n=$(sed -n "$(($line-1))"p $filename);
  80. if [ "$line_n" != "/*" ]
  81. then
  82. addKey=$line"i $frontKey";
  83. sed -i "$addKey" $filename;
  84. line=$(grep -n "$AlarmCode" $filename | cut -d ":" -f 1);
  85. while [ $line -le $(($line+$count)) ]
  86. do
  87. line_n=$(sed -n "$line"p $filename);
  88. #echo $line_n
  89. if [ "$line_n" == "};" ]
  90. then
  91. echo $line_n >> $copyFile;
  92. echo -e >> $copyFile;
  93. line=$line"a $afterKey";
  94. sed -i "$line" $filename;
  95. break;
  96. else
  97. line=$(($line+1));
  98. echo $line_n >> $copyFile;
  99. fi
  100. done
  101. fi
  102. #Info Status Code
  103. line=$(grep -n "$InfoCode" $filename | cut -d ":" -f 1);
  104. echo $line;
  105. line_n=$(sed -n "$(($line-1))"p $filename);
  106. if [ "$line_n" != "/*" ]
  107. then
  108. addKey=$line"i $frontKey"
  109. sed -i "$addKey" $filename
  110. line=$(grep -n "$InfoCode" $filename | cut -d ":" -f 1);
  111. while [ $line -le $(($line+$count)) ]
  112. do
  113. line_n=$(sed -n "$line"p $filename);
  114. #echo $line_n
  115. if [ "$line_n" == "};" ]
  116. then
  117. echo $line_n >> $copyFile;
  118. echo -e >> $copyFile;
  119. line=$line"a $afterKey";
  120. sed -i "$line" $filename;
  121. break;
  122. else
  123. line=$(($line+1));
  124. echo $line_n >> $copyFile;
  125. fi
  126. done
  127. echo "
  128. //------------------------------------------------------------------------------
  129. char *GetCurrency(uint8_t index)
  130. {
  131. return &Currency[index][0];
  132. }
  133. char *GetFaultStatusCode(uint8_t index)
  134. {
  135. return &FaultStatusCode[index][0];
  136. }
  137. char *GetAlarmStatusCode(uint8_t index)
  138. {
  139. return &AlarmStatusCode[index][0];
  140. }
  141. char *GetInfoStatusCode(uint16_t index)
  142. {
  143. return &InfoStatusCode[index][0];
  144. }" >> $copyFile;
  145. fi
  146. line=$(grep -n "$finalString" $filename | cut -d ":" -f 1);
  147. echo $line;
  148. line_n=$(sed -n "$(($line-1))"p $filename);
  149. if [ "$line_n" != "char *GetInfoCode(uint16_t index);" ]
  150. then
  151. sed -i "$line"d $filename
  152. echo "
  153. //------------------------------------------------------------------------------
  154. char *GetCurrency(uint8_t index);
  155. char *GetFaultStatusCode(uint8_t index);
  156. char *GetAlarmStatusCode(uint8_t index);
  157. char *GetInfoStatusCode(uint16_t index);
  158. #endif // DEFINE_H_" >> $filename;
  159. fi