public async Task <bool> RelayTestServiceAsync(IEnumerable <int> relayPins, GpioCycles selectedCycle, int singleChannelValue = 0)
        {
            if (relayPins.Count() <= 0)
            {
                Logger.Warning("No pins specified.");
                return(false);
            }

            Logger.Log("Relay test service started!");

            switch (selectedCycle)
            {
            case GpioCycles.OneTwo:
                return(await RelayOneTwo(relayPins).ConfigureAwait(false));

            case GpioCycles.OneOne:
                return(await RelayOneOne(relayPins).ConfigureAwait(false));

            case GpioCycles.OneMany:
                return(await RelayOneMany(relayPins).ConfigureAwait(false));

            case GpioCycles.Cycle:
                return(await RelayOneTwo(relayPins).ConfigureAwait(false) &&
                       await RelayOneOne(relayPins).ConfigureAwait(false) &&
                       await RelayOneMany(relayPins).ConfigureAwait(false));

            case GpioCycles.Single:
                return(await RelaySingle(singleChannelValue, 8000).ConfigureAwait(false));

            case GpioCycles.Base:
                Logger.Log("Base argument specified, running default cycle test!");
                goto case GpioCycles.Cycle;

            case GpioCycles.Default:
                Logger.Log("Unknown value, Aborting...");
                break;
            }

            Logger.Warning("One or more tests failed.");
            return(false);
        }
Example #2
0
 public Task <bool> RelayTestServiceAsync(IEnumerable <int> relayPins, GpioCycles selectedCycle, int singleChannelValue = 0)
 {
     throw new NotImplementedException();
 }