[[!template id=project title="LED/LCD Generic API" contact=""" [tech-kern](mailto:tech-kern@NetBSD.org) """ mentors=""" [Marc Balmer](mailto:mbalmer@NetBSD.org) """ category="kernel" difficulty="medium" duration="3 months" description=""" Design and implement a general API for control of LED and LCD type devices on NetBSD. The API would allow devices to register individual LED and LCD devices, along with a set of capabilities for each one. Devices that wish to display status via an LED/LCD would also register themselves as an event provider. A userland program would control the wiring of each event provider, to each output indicator. The API would need to encompass all types of LCD displays, such as 3 segment LCDs, 7 segment alphanumerics, and simple on/off state LED's. A simple example is a keyboard LED, which is an output indicator, and the caps-lock key being pressed, which is an event provider. There is prior art in OpenBSD; it should be checked for suitability, and any resulting API should not differ from theirs without reason. Milestones: * a port of OpenBSD's LED tools * a userland tool to control LED * demonstration of functionality * integration into NetBSD """ ]]