Le portage vers QMK a été un peu plus complexe que prévu. Mais j’ai trouvé la solution avec un peu d’aide.
Les quatre colonnes de LED ne s’allumaient pas précédemment parce qu’elles étaient branchées à des pins du microcontrôleur ne supportant pas un PWM hardware.
Si vous regardez bien sur ce schéma, vous verrez que les colonnes 0, 1, 6 et 7 sont sur les pins 50, 51, 57 et 58.
Si vous regardez attentivement, ces pins du contrôleur n’indiquent pas la mention “PWM”, c’est à dire que la génération d’un tel signal permettant d’allumer les LED ne peut pas se faire par hardware.
La solution a été de basculer l’intégralité des colonnes vers un PWM software, ce qui pour le coup permet aussi de synchroniser l’éclairage de manière quasi parfaite.
Je vous laisse regarder la démonstration dans la petite vidéo dessous :
Pour l’instant, je n’ai pas encore totalement terminé les tests, cependant, si vous souhaitez jeter un coup d’œil à ce qui a été effectué, voici le lien de mon Github.
https://github.com/Genphiz/qmk_firmware/tree/s32_Ironclad
J’ai effectué mon propre fork de QMK et j’ai ajouté les modifications dans la branche s32_Ironclad, pour éviter de mélanger mon travail avec le reste.
Les fichiers du clavier se trouvent dans le dossier keyboards/gg/ironclad.
Quant aux modifications du PWM hardware en PWM software, les modifications ont été effectuées dans drivers/led/sn32, dans le fichier rgb_matrix_sn32f24xb.c
Une fois le portage stabilisé et testé, j’essaierais de faire un pull request pour l’ajouter à la branche officielle de QMK.
Félicitations pour la résolution de ce casse-tête “chinois” !