sched.py 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203
  1. #
  2. # Generated with CMSIS-DSP Compute Graph Scripts.
  3. # The generated code is not covered by CMSIS-DSP license.
  4. #
  5. # The support classes and code is covered by CMSIS-DSP license.
  6. #
  7. import sys
  8. import numpy as np
  9. import cmsisdsp as dsp
  10. from cmsisdsp.cg.nodes.simu import *
  11. from appnodes import *
  12. from custom import *
  13. DEBUGSCHED=False
  14. #
  15. # FIFO buffers
  16. #
  17. FIFOSIZE0=11
  18. buf0=np.empty(FIFOSIZE0,dtype=object)
  19. for i in range(FIFOSIZE0):
  20. buf0[i] = MyComplex()
  21. FIFOSIZE1=5
  22. buf1=np.empty(FIFOSIZE1,dtype=object)
  23. for i in range(FIFOSIZE1):
  24. buf1[i] = MyComplex()
  25. FIFOSIZE2=5
  26. buf2=np.empty(FIFOSIZE2,dtype=object)
  27. for i in range(FIFOSIZE2):
  28. buf2[i] = MyComplex()
  29. FIFOSIZE3=5
  30. buf3=np.empty(FIFOSIZE3,dtype=object)
  31. for i in range(FIFOSIZE3):
  32. buf3[i] = MyComplex()
  33. FIFOSIZE4=5
  34. buf4=np.empty(FIFOSIZE4,dtype=object)
  35. for i in range(FIFOSIZE4):
  36. buf4[i] = MyComplex()
  37. FIFOSIZE5=5
  38. buf5=np.empty(FIFOSIZE5,dtype=object)
  39. for i in range(FIFOSIZE5):
  40. buf5[i] = MyComplex()
  41. def scheduler(someVariable):
  42. cgStaticError=0
  43. nbSchedule=0
  44. debugCounter=1
  45. #
  46. # Create FIFOs objects
  47. #
  48. fifo0=FIFO(FIFOSIZE0,buf0)
  49. fifo1=FIFO(FIFOSIZE1,buf1)
  50. fifo2=FIFO(FIFOSIZE2,buf2)
  51. fifo3=FIFO(FIFOSIZE3,buf3)
  52. fifo4=FIFO(FIFOSIZE4,buf4)
  53. fifo5=FIFO(FIFOSIZE5,buf5)
  54. #
  55. # Create node objects
  56. #
  57. dup0 = Duplicate3(5,5,5,5,fifo2,fifo3,fifo4,fifo5)
  58. filter = ProcessingNode(7,5,5,fifo0,fifo2,fifo1,4,"Test",someVariable)
  59. sa = Sink(5,fifo3)
  60. sb = Sink(5,fifo4)
  61. sc = Sink(5,fifo5)
  62. sd = Sink(5,fifo1)
  63. source = Source(5,fifo0)
  64. while((cgStaticError==0) and (debugCounter > 0)):
  65. nbSchedule = nbSchedule + 1
  66. cgStaticError = source.run()
  67. if cgStaticError < 0:
  68. break
  69. cgStaticError = source.run()
  70. if cgStaticError < 0:
  71. break
  72. cgStaticError = filter.run()
  73. if cgStaticError < 0:
  74. break
  75. cgStaticError = sd.run()
  76. if cgStaticError < 0:
  77. break
  78. cgStaticError = dup0.run()
  79. if cgStaticError < 0:
  80. break
  81. cgStaticError = sa.run()
  82. if cgStaticError < 0:
  83. break
  84. cgStaticError = sb.run()
  85. if cgStaticError < 0:
  86. break
  87. cgStaticError = sc.run()
  88. if cgStaticError < 0:
  89. break
  90. cgStaticError = source.run()
  91. if cgStaticError < 0:
  92. break
  93. cgStaticError = filter.run()
  94. if cgStaticError < 0:
  95. break
  96. cgStaticError = sd.run()
  97. if cgStaticError < 0:
  98. break
  99. cgStaticError = dup0.run()
  100. if cgStaticError < 0:
  101. break
  102. cgStaticError = sa.run()
  103. if cgStaticError < 0:
  104. break
  105. cgStaticError = sb.run()
  106. if cgStaticError < 0:
  107. break
  108. cgStaticError = sc.run()
  109. if cgStaticError < 0:
  110. break
  111. cgStaticError = source.run()
  112. if cgStaticError < 0:
  113. break
  114. cgStaticError = source.run()
  115. if cgStaticError < 0:
  116. break
  117. cgStaticError = filter.run()
  118. if cgStaticError < 0:
  119. break
  120. cgStaticError = sd.run()
  121. if cgStaticError < 0:
  122. break
  123. cgStaticError = dup0.run()
  124. if cgStaticError < 0:
  125. break
  126. cgStaticError = sa.run()
  127. if cgStaticError < 0:
  128. break
  129. cgStaticError = sb.run()
  130. if cgStaticError < 0:
  131. break
  132. cgStaticError = sc.run()
  133. if cgStaticError < 0:
  134. break
  135. cgStaticError = source.run()
  136. if cgStaticError < 0:
  137. break
  138. cgStaticError = filter.run()
  139. if cgStaticError < 0:
  140. break
  141. cgStaticError = sd.run()
  142. if cgStaticError < 0:
  143. break
  144. cgStaticError = dup0.run()
  145. if cgStaticError < 0:
  146. break
  147. cgStaticError = sa.run()
  148. if cgStaticError < 0:
  149. break
  150. cgStaticError = sb.run()
  151. if cgStaticError < 0:
  152. break
  153. cgStaticError = sc.run()
  154. if cgStaticError < 0:
  155. break
  156. cgStaticError = source.run()
  157. if cgStaticError < 0:
  158. break
  159. cgStaticError = filter.run()
  160. if cgStaticError < 0:
  161. break
  162. cgStaticError = sd.run()
  163. if cgStaticError < 0:
  164. break
  165. cgStaticError = dup0.run()
  166. if cgStaticError < 0:
  167. break
  168. cgStaticError = sa.run()
  169. if cgStaticError < 0:
  170. break
  171. cgStaticError = sb.run()
  172. if cgStaticError < 0:
  173. break
  174. cgStaticError = sc.run()
  175. if cgStaticError < 0:
  176. break
  177. debugCounter = debugCounter - 1
  178. return(nbSchedule,cgStaticError)