Audio - 1, Mon media center amplifié

Ce projet est essentiellement composé de “module” du commerce, dont voici la liste:

RaspberryPI 2 B+
Un DAC Sabre V4 (ES9023)
2x Hypex UCD180HG

2 x Alim SMPS300RE
1 x Alim 12V DC
1 x Alim DC Step Down

Le tout propulsé par OSMC (Kodi) pour la partie logiciel.

L’ensemble sera (probablement) mise en boite dans un boitier fait maison en béton.

A priori rien de compliqué… sauf que… ce n’est pas le cas.

Le premier problème à été de faire fonctionner le DAC avec OSMC.
La solution: Utiliser les paramètres Hifiberry et installer correctement les script récupéré sur gitlab. Je n’ai malheureusement aujourd’hui pas les liens ni le process, car j’ai procédé à tâtons.

Le second problème sur lequel je bute aujourd’hui:
Le DAC pilote l’alimentation du rPI via un Attiny45. Je souhaite reprogrammer ce microcontrôleur selon mes besoins. Après discussion avec l’équipe d’audiophonics, il n’y a pas moyen d’obtenir le code source correspondant.
J’ai donc deux solutions: soit je fais du reverse engineering en extrayant la mémoire du µContrôleur mais dans le meilleurs des cas je n’aurais que de l’assembleur.
Soit j’essaie de comprendre le fonctionnement de l’µC et sa gestion de l’alimentation et je produis un code source similaire.
J’ai donc opté pour la seconde solution qui me parait plus simple.
J’ai noté tout les états des pins de l’attiny45 à l’extinction du rPI et ceux à l’allumage (de OFF à ON et de ON à OFF). J’en ai déduis un code source et programmé un Attiny85. Malheureusement sur le breadboard les deux µC semble avoir le même comportement, mais l’attiny85 ne fait pas démarrer le rPI.
Je vais reprendre toutes mes mesures (quelque chose m’a peut-être échappé) et vous lister un maximum d’infos et espérant que quelqu’un puisse m’aider.
… très bientôt la suite…

Comment peut-on utiliser un programme qui se termine de la sorte :

# The 1200-second (20 minute) timeout is a hack; for some reason, if I
# don't specify a timeout, I'm unable to get the SIGINT handler above to
# work properly. But if there is a timeout set, even if it's a very long
# timeout, then Ctrl-C works as intended. No idea why.

Mon sentiment :
Cela rejoint pas mal de nos discussions ces temps-ci concernant notre monde de “bidouilleurs” qui utilise de + en + de routines toutes faites, qui incluent des déclarations, des configurations, des passages ou même des programmes entiers plutôt “nébuleux”, et qui nous échappent totalement.
Que font-ils ? Pourquoi sont-ils là ? Pouvons-nous les expliquer ? Sont-ils nécessaires ?

mode vieux grincheux ‘ON’ = << Cela fait maintenant pas mal de temps que je pratique la programmation et je m’aperçois que l’on se pose de moins en moins de questions sur le comment ça fonctionne. Il semble que le but unique est : “que ça marche” ! Peu importe comment ! , même si on ne comprend rien :stuck_out_tongue_winking_eye: … Et quand ça s’arrête, on :cry: )>>
mode ‘OFF’