Although I had many parts of the code already done, the truth is that putting all the code together and making all the functions and internal structure non-blocking has been a much more laborious task than expected. In addition, I have programmed dozens of commands and the first version of the LibreServo Software is much more complete than I had originally anticipated.
In the following posts I will detail a little more the functions and operation of LibreServo, for now I leave a curious little video I made with the LibreServo test board v2 a few weeks ago as a small preview testing the sound function of LibreServo. Yes, LibreServo is able to generate sound making use of the DC motor.
Music with LibreServo
LibreServo allows you to send blocks of commands making it much easier to send dozens of commands at once. LibreServo takes care of storing them and executing them one after another. This simple test was not really about generating music, but about seeing that the whole internal LibreServo system worked.
The commands used are as follows.
/*****IMPERIAL MARCH*****/
S1L255:0:0|S1T1567:300:100|S1T1567:10:0|S1T1567:300:100|S1T1567:10:0|S1T1567:300:100|S1T1567:10:0|S1L0:255:0|S1T1244:300:100|S1T1244:10:0|S1T1864:60:100|S1T1864:10:0|S1L0:0:255|S1T1567:300:100|S1T1567:10:0|S1T1244:300:100|S1T1244:10:0|S1T1864:60:100|S1T1864:10:0|S1L0:255:255|S1T1567:400:100|S1T1567:20:0|S1L255:255:0|S1T2349:300:100|S1T2349:10:0|S1T2349:300:100|S1T2349:10:0|S1T2349:300:100|S1T2349:10:0|S1L255:0:255|S1T2489:300:100|S1T2489:10:0|S1T1864:60:100|S1T1864:10:0|S1L0:255:0|S1T1480:300:100|S1T1480:10:0|S1L0:255:255|S1T1244:300:100|S1T1244:10:0|S1T1864:60:100|S1T1864:10:0|S1L255:255:255|S1T1568:500:100|S1T1568:10:0|S1LR;
/******MAIN THEME******/
S1T1174:75:70|S1T1174:10:0|S1T1174:75:70|S1T1174:10:0|S1T1174:75:70|S1T1174:10:0|S1T1568:450:100|S1T1568:10:0|S1T2349:450:100|S1T2349:10:0|S1T2093:75:70|S1T2093:10:0|S1T1975:75:70|S1T1975:10:0|S1T1760:75:70|S1T1760:10:0|S1T3135:450:100|S1T3135:10:0|S1T2349:450:100|S1T2349:10:0|S1T2093:75:70|S1T2093:10:0|S1T1975:75:70|S1T1975:10:0|S1T1760:75:70|S1T1760:10:0|S1T3135:450:100|S1T3135:10:0|S1T2349:450:100|S1T2349:10:0|S1T2093:75:70|S1T2093:10:0|S1T1975:75:70|S1T1975:10:0|S1T2093:75:70|S1T2093:10:0|S1T1760:450:100|S1T1760:10:0;
/*******Still D.R.E.*******/
S1T2093:100:100|S1T2093:10:0|S1T2637:100:70|S1T2637:10:0|S1T3520:100:70|S1T3520:10:0|S1T2093:300:100|S1T2093:10:0|S1T2637:100:70|S1T2637:10:0|S1T3520:100:70|S1T3520:10:0|S1T2637:100:70|S1T2637:10:0|S1T1975:100:100|S1T2093:10:0|S1T2637:100:70|S1T2637:10:0|S1T3520:100:70|S1T3520:10:0|S1T1975:300:100|S1T2093:10:0|S1T2637:100:70|S1T2637:10:0|S1T3520:100:70|S1T3136:10:0|S1T2637:100:70|S1T2637:10:0|S1T2093:100:100|S1T2093:10:0|S1T2637:100:70|S1T2637:10:0|S1T3520:100:70|S1T3520:10:0|S1T2093:300:100|S1T2093:10:0|S1T2637:100:70|S1T2637:10:0|S1T3520:100:70|S1T3520:10:0|S1T2637:100:70|S1T2637:10:0|S1T1975:100:100|S1T2093:10:0|S1T2637:100:70|S1T2637:10:0|S1T3520:100:70|S1T3520:10:0|S1T1975:300:100|S1T2093:10:0|S1T2637:100:70|S1T2637:10:0|S1T3520:100:70|S1T3136:10:0|S1T2637:100:70|S1T2637:10:0;
S1T2093:25:100|S1T2637:25:70|S1T3520:50:70|S1T3520:5:0|S1T2093:25:100|S1T2637:25:70|S1T3520:50:70|S1T3520:5:0|S1T2093:25:100|S1T2637:25:70|S1T3520:50:70|S1T3520:5:0|S1T2093:25:100|S1T2637:25:70|S1T3520:50:70|S1T3520:5:0|S1T2093:25:100|S1T2637:25:70|S1T3520:50:70|S1T3520:5:0|S1T2093:25:100|S1T2637:25:70|S1T3520:50:70|S1T3520:5:0|S1T2093:25:100|S1T2637:25:70|S1T3520:50:70|S1T3520:5:0|S1T2093:25:100|S1T2637:25:70|S1T3520:50:70|S1T3520:5:0|S1T1975:25:100|S1T2637:25:70|S1T3520:50:70|S1T3520:5:0|S1T1975:25:100|S1T2637:25:70|S1T3520:50:70|S1T3520:5:0|S1T1975:25:100|S1T2637:25:70|S1T3520:50:70|S1T3520:5:0|S1T1975:25:100|S1T2637:25:70|S1T3136:50:70|S1T3136:5:0|S1T1975:25:100|S1T2637:25:70|S1T3136:50:70|S1T3136:5:0|S1T1975:25:100|S1T2637:25:70|S1T3136:50:70|S1T3136:5:0|S1T1975:25:100|S1T2637:25:70|S1T3136:50:70|S1T3136:5:0|S1T1975:25:100|S1T2637:25:70|S1T3136:50:70|S1T3136:5:0;
S1T2093:25:100|S1T2637:25:70|S1T3520:50:70|S1T3520:5:0|S1T2093:25:100|S1T2637:25:70|S1T3520:50:70|S1T3520:5:0|S1T2093:25:100|S1T2637:25:70|S1T3520:50:70|S1T3520:5:0|S1T2093:25:100|S1T2637:25:70|S1T3520:50:70|S1T3520:5:0|S1T2093:25:100|S1T2637:25:70|S1T3520:50:70|S1T3520:5:0|S1T2093:25:100|S1T2637:25:70|S1T3520:50:70|S1T3520:5:0|S1T2093:25:100|S1T2637:25:70|S1T3520:50:70|S1T3520:5:0|S1T2093:25:100|S1T2637:25:70|S1T3520:50:70|S1T3520:5:0|S1T1975:25:100|S1T2637:25:70|S1T3520:50:70|S1T3520:5:0|S1T1975:25:100|S1T2637:25:70|S1T3520:50:70|S1T3520:5:0|S1T1975:25:100|S1T2637:25:70|S1T3520:50:70|S1T3520:5:0|S1T1975:25:100|S1T2637:25:70|S1T3136:50:70|S1T3136:200:0|S1T1975:25:100|S1T2637:25:70|S1T3136:50:70|S1T3136:5:0;