public void pwmout_pulsewidth_us(ref pwmout_t obj, int us) { if (!interfaces.TryGetValue(obj.id, out var uif)) { throw new ArgumentException(); } ((PwmOut)uif).PulseWidthUs(us); }
private void DeletePwmOut(ref pwmout_t obj) { if (!interfaces.TryGetValue(obj.id, out var uif)) { return; } pin_if.Remove(((PwmOut)uif).pin); interfaces.Remove(obj.id); }
private IUnitInterface CreatePwmOut(ref pwmout_t obj, PinName pin) { var p = PinMap.Peripheral(pin, PinMap.PinMap_PWM); if (p == (int)PinName.NC) { return(null); } if (!interfaces.TryGetValue(obj.id, out var uif)) { if (pin_if.ContainsKey(pin)) { throw new ArgumentException(); } uif = new PwmOut((PWMName)p, pin); obj.id = uif.GetHashCode(); interfaces.Add(obj.id, uif); } return(uif); }
public void pwmout_free(ref pwmout_t obj) { DeletePwmOut(ref obj); }
public void pwmout_init(ref pwmout_t obj, PinName pin) { CreatePwmOut(ref obj, pin); }