Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }
Example #4
0
 public void pwmout_free(ref pwmout_t obj)
 {
     DeletePwmOut(ref obj);
 }
Example #5
0
 public void pwmout_init(ref pwmout_t obj, PinName pin)
 {
     CreatePwmOut(ref obj, pin);
 }