I have a program that works, but I'm building a glitch filter for method_6, and when I get it working will do the same for method_7.
I'm getting an error No overload for Method_6 not sure whats wrong or how to fix it
any help would be appreciated
Heres the code its a bit long
Tnx
using System;
using System.Threading;
using Microsoft.SPOT;
using Microsoft.SPOT.Hardware;
using SecretLabs.NETMF.Hardware;
using SecretLabs.NETMF.Hardware.Netduino;
namespace Hydro
{
public class Program
{
public const int SecondMs = 1000;
public const int MinuteMs = 60 * SecondMs;
public const int HourMs = 60 * MinuteMs;
public const int DayMs = 24 * HourMs;
public const int WeekMs = 7 * DayMs;
private static bool method_state_6, method_state_7;
static InterruptPort phcontroller = new InterruptPort(Pins.GPIO_PIN_D0, false, Port.ResistorMode.Disabled, Port.InterruptMode.InterruptEdgeLow);
static InterruptPort nutcontroller = new InterruptPort(Pins.GPIO_PIN_D1, false, Port.ResistorMode.Disabled, Port.InterruptMode.InterruptEdgeLow);
static DateTime Button1LastPushed;
static OutputPort ph = new OutputPort(Pins.GPIO_PIN_D2, true);
static OutputPort b = new OutputPort(Pins.GPIO_PIN_D3, true);
static OutputPort a = new OutputPort(Pins.GPIO_PIN_D4, true);
static OutputPort drain = new OutputPort(Pins.GPIO_PIN_D5, true);
static OutputPort solenoid = new OutputPort(Pins.GPIO_PIN_D6, true);
static OutputPort heater = new OutputPort(Pins.GPIO_PIN_D7, true);
static OutputPort led = new OutputPort(Pins.GPIO_PIN_D11, true);
static OutputPort FloodDrain = new OutputPort(Pins.GPIO_PIN_D8, true);
public static void Main()
{
phcontroller.OnInterrupt += Method_6;
try
{
Thread led_proc = new Thread(new ThreadStart(turn_led));
led_proc.Start();
while (true)
{
Thread FloodDrain_proc = new Thread(new ThreadStart(turn_FloodDrain));
FloodDrain_proc.Start();
while (true)
{
Method_1();
call2_5();
call6_8();
Method_9();
Thread.Sleep(10000);
}
}
}
catch
{
}
}
static void turn_led()
{
while (true)
{
led.Write(false);
Thread.Sleep(HourMs * 12);
led.Write(true);
Thread.Sleep(HourMs * 12);
}
}
static void turn_FloodDrain()
{
while (true)
{
FloodDrain.Write(false);
Thread.Sleep(MinuteMs * 30);
FloodDrain.Write(true);
Thread.Sleep(HourMs * 1);
}
}
public static void call2_5()
{
Thread t2 = new Thread(new ThreadStart(Method_2));
t2.Start();
Thread t3 = new Thread(new ThreadStart(Method_3));
t3.Start();
Thread t4 = new Thread(new ThreadStart(Method_4));
t4.Start();
Thread t5 = new Thread(new ThreadStart(Method_5));
t5.Start();
#region Wait for finishing 2-5 methods
t2.Join();
t3.Join();
t4.Join();
t5.Join();
#endregion
}
static void call6_8()
{
method_state_6 = method_state_7 = true;
Thread t6 = new Thread(new ThreadStart(Method_6));
t6.Start();
Thread t7 = new Thread(new ThreadStart(Method_7));
t7.Start();
Thread t8 = new Thread(new ThreadStart(Method_8));
t8.Start();
t8.Join();
method_state_6 = method_state_7 = false;
}
public static void Method_1()
{
drain.Write(false);
Thread.Sleep(16 * MinuteMs);
drain.Write(true);
}
public static void Method_2()
{
solenoid.Write(false);
Thread.Sleep(16 * MinuteMs);
solenoid.Write(true);
}
public static void Method_3()
{
a.Write(false);
Thread.Sleep(182 * SecondMs);
a.Write(true);
}
public static void Method_4()
{
b.Write(false);
Thread.Sleep(100 * SecondMs);
b.Write(true);
}
public static void Method_5()
{
ph.Write(false);
Thread.Sleep(5 * SecondMs);
ph.Write(true);
}
private static void Method_6(uint data1, uint data2, DateTime time)
{
if (Button1LastPushed.AddMilliseconds(50) > time)
return;
Button1LastPushed = time;
ph.Write(false);
Thread.Sleep(2000);
ph.Write(true);
Thread.Sleep(5 * MinuteMs);
}
public static void Method_7()
{
Thread.Sleep(5 * MinuteMs);
while ((!method_state_7) && (!nutcontroller.Read()))
{
a.Write(false);
Thread.Sleep(5454);
a.Write(true);
b.Write(false);
Thread.Sleep(3000);
b.Write(true);
Thread.Sleep(5 * MinuteMs);
}
}
public static void Method_8()
{
heater.Write(false);
for (int i = 0; i < 14; i++)
{
Thread.Sleep(1 * DayMs);
solenoid.Write(false);
Thread.Sleep(20 * SecondMs);
solenoid.Write(true);
}
heater.Write(true);
}
public static void Method_9()
{
drain.Write(false);
Thread.Sleep(16 * MinuteMs);
drain.Write(true);
solenoid.Write(false);
Thread.Sleep(16 * MinuteMs);
solenoid.Write(true);
Thread.Sleep(1 * MinuteMs);
}
}
}