Your macro callback is not as required, so the cb1() is never called.
I changed DMA to Byte -> Byte and Trigger Mode to "Level 4 cycles"
When setting a breakpoint at end of for-loop you see that all data was transferred into the buffer.
I tried the modification you suggested and it worked.
I also found why the callback was not called and then I applied the corrections to the rest of the project.