void writingTimer_Tick(GT.Timer timer) { // Check if Sdcard is present if (!SDMemoryCard.CheckSdCard()) { return; } bool[] toForce = new bool[5]; bool toSend = false; // Check what measures have to be forced for (int i = 0; i < 5; i++) { if (measuresNotChanged[i] == 14) { toForce[i] = true; } } // Get measurements from sensors handler SensorsHandler.Measurements m = sensors.GetMeasurements(toForce); // Update measuresNotChanged values for (int i = 0; i < 5; i++) { if (!m.changed[i]) { measuresNotChanged[i]++; } else { measuresNotChanged[i] = 0; toSend = true; } } // Produce JSON and write it on a file if (toSend) { byte[] data = Json.CreateJsonMeasurements(m.x, m.y, m.temperature, m.pressure, m.humidity); long numberOfTicks = Json.measureTimeTicks; string fileName = new DateTime(numberOfTicks).ToString("yyyyMMddTHHmmss"); if (!Time.IsTimeSynchronized) { fileName += "_" + numberOfTicks; } if (SDMemoryCard.WriteFile(fileName, data)) { Debug.Print("The file: " + fileName + " has been written"); } else { Debug.Print("ERROR: the file " + fileName + " has not been written"); } } }
void persistenceTimer_Tick(GT.Timer timer) { if (mouse != null) { int x = Mouse.X; int y = Mouse.Y; if (x != lastWrittenX || y != lastWrittenY) { String mouseData = x + " " + y; if (!SDMemoryCard.WriteFile("MouseData", Encoding.UTF8.GetBytes(mouseData), true)) { Debug.Print("ERROR while saving MouseData!"); } else { lastWrittenX = x; lastWrittenY = y; } } } }