public ClientPushService(IHubContext <VibrometerHub> hubContext, VibrometerApi api) { _hubContext = hubContext; _api = api; _updateBufferContentTimer = new Timer() { AutoReset = true, Enabled = true, Interval = TimeSpan.FromMilliseconds(500).TotalMilliseconds }; _updateBufferContentTimer.Elapsed += this.OnUpdateBufferContent; }
static void Main(string[] args) { bool exit = false; _api = new VibrometerApi(); while (!exit) { Console.Clear(); Console.WriteLine($"[Y] - load bitstream"); Console.WriteLine($"[Z] - set defaults"); Console.WriteLine(); Program.WriteColored("AXIS Switch\n", ConsoleColor.Cyan); switch (_api.AxisSwitch.Source) { case ApiSource.Raw: Program.WriteColored($"[0] - set source (source: raw)\n"); break; case ApiSource.Position: Program.WriteColored($"[0] - set source (source: position)\n"); break; case ApiSource.Filter: Program.WriteColored($"[0] - set source (source: filter)\n"); break; case ApiSource.FourierTransform: Program.WriteColored($"[0] - set source (source: Fourier)\n"); break; default: Console.WriteLine($"[0] - set source (source: disabled)"); break; } Console.WriteLine(); Program.WriteColored("Signal Generator\n", ConsoleColor.Cyan); if (_api.SignalGenerator.FmEnabled) { Program.WriteColored($"[1] - disable frequency modulation\n"); } else { Console.Write($"[1] - enable frequency modulation\n"); } Console.WriteLine($"[2] - set shift carrier"); Console.WriteLine($"[3] - set phase signal"); Console.WriteLine($"[4] - set phase carrier"); Console.WriteLine(); Program.WriteColored("Data Acquisition\n", ConsoleColor.Cyan); if (_api.DataAcquisition.SwitchEnabled) { Program.WriteColored($"[5] - disable switch\n"); } else { Console.Write($"[5] - enable switch\n"); } Console.WriteLine(); Program.WriteColored("Position Tracker\n", ConsoleColor.Cyan); Console.WriteLine($"[6] - set log scale"); Console.WriteLine($"[7] - set log count extremum"); Console.WriteLine($"[8] - set shift extremum"); Console.WriteLine($"[9] - get threshold"); Console.WriteLine(); Program.WriteColored("Filter\n", ConsoleColor.Cyan); Console.WriteLine($"[A] - set log throttle"); Console.WriteLine(); Program.WriteColored("Fourier Transform\n", ConsoleColor.Cyan); if (_api.FourierTransform.Enabled) { Program.WriteColored($"[B] - disable Fourier transform\n"); } else { Console.Write($"[B] - enable Fourier Transform\n"); } Console.WriteLine($"[C] - set log count averages"); Console.WriteLine($"[D] - set log throttle"); Console.WriteLine(); Program.WriteColored("RAM Writer\n", ConsoleColor.Cyan); if (_api.RamWriter.Enabled) { Program.WriteColored($"[E] - disable RAM writer\n"); } else { Console.Write($"[E] - enable RAM writer\n"); } if (_api.RamWriter.RequestEnabled) { Program.WriteColored($"[F] - disable buffer request\n"); } else { Console.Write($"[F] - enable buffer request\n"); } Console.WriteLine($"[G] - set log length"); Console.WriteLine($"[H] - set log throttle"); Console.WriteLine($"[I] - get read buffer"); Console.WriteLine(); Program.WriteColored("RAM\n", ConsoleColor.Cyan); Console.WriteLine($"[J] - get data ({Math.Min(Math.Pow(2, _api.RamWriter.LogLength), 1024)} values)"); Console.WriteLine($"[K] - get stream"); Console.WriteLine($"[L] - clear"); var keyInfo = Console.ReadKey(true); switch (keyInfo.Key) { case ConsoleKey.Y: Program.LoadBitstream(); break; case ConsoleKey.Z: _api.SetDefaults(); break; case ConsoleKey.NumPad0: case ConsoleKey.D0: Program.GE_Set_Source(); break; case ConsoleKey.NumPad1: case ConsoleKey.D1: Program.SG_Toggle_FM(); break; case ConsoleKey.NumPad2: case ConsoleKey.D2: Program.SG_Set_Shift_Carrier(); break; case ConsoleKey.NumPad3: case ConsoleKey.D3: Program.SG_Set_Phase_Signal(); break; case ConsoleKey.NumPad4: case ConsoleKey.D4: Program.SG_Set_Phase_Carrier(); break; case ConsoleKey.NumPad5: case ConsoleKey.D5: Program.DA_Toggle_Switch(); break; case ConsoleKey.NumPad6: case ConsoleKey.D6: Program.PT_Set_LogScale(); break; case ConsoleKey.NumPad7: case ConsoleKey.D7: Program.PT_Set_LogCountExtremum(); break; case ConsoleKey.NumPad8: case ConsoleKey.D8: Program.PT_Set_ShiftExtremum(); break; case ConsoleKey.NumPad9: case ConsoleKey.D9: Program.PT_Get_Threshold(); break; case ConsoleKey.A: Program.FI_Set_LogThrottle(); break; case ConsoleKey.B: Program.FT_Toggle_Enable(); break; case ConsoleKey.C: Program.FT_Set_LogCountAverages(); break; case ConsoleKey.D: Program.FT_Set_LogThrottle(); break; case ConsoleKey.E: Program.RW_Toggle_Enable(); break; case ConsoleKey.F: Program.RW_Toggle_RequestEnable(); break; case ConsoleKey.G: Program.RW_Set_LogLength(); break; case ConsoleKey.H: Program.RW_Set_LogThrottle(); break; case ConsoleKey.I: Program.RW_Get_ReadBuffer(); break; case ConsoleKey.J: Program.RAM_Get_Data(); break; case ConsoleKey.K: Program.RAM_Get_Stream(); break; case ConsoleKey.L: _api.ClearRam(); break; case ConsoleKey.Escape: exit = true; break; default: break; } } _api.Dispose(); }
// clientPushService is only requested to create a singleton instance public VibrometerHub(AppState state, VibrometerApi api, ClientPushService clientPushService) { _state = state; _api = api; }