| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173 |
- #
- # Generated with CMSIS-DSP SDF Scripts.
- # The generated code is not covered by CMSIS-DSP license.
- #
- # The support classes and code is covered by CMSIS-DSP license.
- #
- import sys
- import numpy as np
- import cmsisdsp as dsp
- from cmsisdsp.sdf.nodes.simu import *
- from appnodes import *
- from custom import *
- DEBUGSCHED=False
- #
- # FIFO buffers
- #
- FIFOSIZE0=256
- buf0=np.zeros(FIFOSIZE0,dtype=np.float32)
- FIFOSIZE1=256
- buf1=np.zeros(FIFOSIZE1,dtype=np.float32)
- FIFOSIZE2=256
- buf2=np.zeros(FIFOSIZE2,dtype=np.float32)
- FIFOSIZE3=512
- buf3=np.zeros(FIFOSIZE3,dtype=np.float32)
- FIFOSIZE4=512
- buf4=np.zeros(FIFOSIZE4,dtype=np.float32)
- FIFOSIZE5=512
- buf5=np.zeros(FIFOSIZE5,dtype=np.float32)
- FIFOSIZE6=256
- buf6=np.zeros(FIFOSIZE6,dtype=np.float32)
- FIFOSIZE7=256
- buf7=np.zeros(FIFOSIZE7,dtype=np.float32)
- def scheduler(dispbuf):
- sdfError=0
- nbSchedule=0
- debugCounter=42
- #
- # Create FIFOs objects
- #
- fifo0=FIFO(FIFOSIZE0,buf0)
- fifo1=FIFO(FIFOSIZE1,buf1)
- fifo2=FIFO(FIFOSIZE2,buf2)
- fifo3=FIFO(FIFOSIZE3,buf3)
- fifo4=FIFO(FIFOSIZE4,buf4)
- fifo5=FIFO(FIFOSIZE5,buf5)
- fifo6=FIFO(FIFOSIZE6,buf6)
- fifo7=FIFO(FIFOSIZE7,buf7)
- #
- # Create node objects
- #
- audioOverlap = OverlapAdd(256,128,fifo6,fifo7)
- audioWin = SlidingBuffer(256,128,fifo0,fifo1)
- cfft = CFFT(512,512,fifo3,fifo4)
- icfft = ICFFT(512,512,fifo4,fifo5)
- sink = FileSink(192,fifo7,"output_example3.txt",dispbuf)
- src = FileSource(192,fifo0,"input_example3.txt")
- toCmplx = ToComplex(256,512,fifo2,fifo3)
- toReal = ToReal(512,256,fifo5,fifo6)
- while((sdfError==0) and (debugCounter > 0)):
- nbSchedule = nbSchedule + 1
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = audioWin.run()
- if sdfError < 0:
- break
-
- i0=fifo1.getReadBuffer(256)
- o2=fifo2.getWriteBuffer(256)
- o2[:]=dsp.arm_mult_f32(i0,HANN)
- sdfError = 0
-
- if sdfError < 0:
- break
- sdfError = toCmplx.run()
- if sdfError < 0:
- break
- sdfError = cfft.run()
- if sdfError < 0:
- break
- sdfError = icfft.run()
- if sdfError < 0:
- break
- sdfError = toReal.run()
- if sdfError < 0:
- break
- sdfError = audioOverlap.run()
- if sdfError < 0:
- break
- sdfError = src.run()
- if sdfError < 0:
- break
- sdfError = audioWin.run()
- if sdfError < 0:
- break
-
- i0=fifo1.getReadBuffer(256)
- o2=fifo2.getWriteBuffer(256)
- o2[:]=dsp.arm_mult_f32(i0,HANN)
- sdfError = 0
-
- if sdfError < 0:
- break
- sdfError = toCmplx.run()
- if sdfError < 0:
- break
- sdfError = cfft.run()
- if sdfError < 0:
- break
- sdfError = icfft.run()
- if sdfError < 0:
- break
- sdfError = toReal.run()
- if sdfError < 0:
- break
- sdfError = audioWin.run()
- if sdfError < 0:
- break
-
- i0=fifo1.getReadBuffer(256)
- o2=fifo2.getWriteBuffer(256)
- o2[:]=dsp.arm_mult_f32(i0,HANN)
- sdfError = 0
-
- if sdfError < 0:
- break
- sdfError = toCmplx.run()
- if sdfError < 0:
- break
- sdfError = cfft.run()
- if sdfError < 0:
- break
- sdfError = icfft.run()
- if sdfError < 0:
- break
- sdfError = audioOverlap.run()
- if sdfError < 0:
- break
- sdfError = sink.run()
- if sdfError < 0:
- break
- sdfError = toReal.run()
- if sdfError < 0:
- break
- sdfError = audioOverlap.run()
- if sdfError < 0:
- break
- sdfError = sink.run()
- if sdfError < 0:
- break
- debugCounter = debugCounter - 1
- return(nbSchedule,sdfError)
|