Ja.

setpout tut nicht das, was du willst.

Eine Port wird HIGH gesetzt durch
Code:
PORTx |= (1 << pad);
und low gesetzt durch
Code:
PORTx &= ~(1 << pad);
Dein setpout setzt zwar den gewünschten Port wie du willst, aber alle anderen Ports des PORT-Registers auf LOW.

Wie ein BSP (board support package) aussehen könnte wird dir vielleicht klarer, wenn du ein paar kleine, funktionierende Projekte gemacht hast und siehst, was die brauchen und welche Anforderungen sie an ein BSP stellen würden.

Da das BSP in unterschiedlichen Prokejten zum Einsatz kommen soll, musst du schon sehr genau überlegen, wie du es implementierst. weil es nicht so toll ist, das BSP nachträglich zu ändern weil du zB das Interface ändern musst und inkompatibel zu älteren Versionen wirst. Daher der Vorschlag, erst mal ein paar Erfahrungen aus der Praxis zu sammeln.

Zudem musst du dir überlegen, ob du das BSP als Quellarchiv oder als Bibliothek zur Verfügung stellen willst. Mach dir dazu die Unterschiede/Schwächen/Stärken der beiden Lösungen klar.