useliballoc::string::String;pubmodserial;pubmodgpio;pubtraitGetByName<T> {fnget_by_name(name:&String)-> T;}/// Peripheral trait
/// Peripheral may also implement Drop to handle the Deinit but that's not mandatory.
pubtraitPeripheral{fninit(&self)->Result<(), String>;}