From ed121fa3dbd86b95951e5f431c901d0b858d1652 Mon Sep 17 00:00:00 2001 From: Bradley Born Date: Mon, 27 Oct 2025 11:14:20 +0000 Subject: [PATCH] GUI Version 4.1 CHanges are GB sticker and Updated API call from Internal Config to GLOBAL--FlexiApplication. --- AiQ_GUI.Designer.cs | 1 - AiQ_GUI.cs | 41 ++++++++++++++++++++++++++++++++---- FakeCamera/FakeCamera.cs | 2 +- FakeCamera/Versions.json | 4 ++-- HWAccessories/Printer.cs | 45 ++++++++++++++++++++++++++-------------- Microsoft/Teams.cs | 2 +- 6 files changed, 71 insertions(+), 24 deletions(-) diff --git a/AiQ_GUI.Designer.cs b/AiQ_GUI.Designer.cs index 5ce6cd8..be88574 100644 --- a/AiQ_GUI.Designer.cs +++ b/AiQ_GUI.Designer.cs @@ -587,7 +587,6 @@ namespace AiQ_GUI BtnTest.TabIndex = 189; BtnTest.Text = "Test"; BtnTest.UseVisualStyleBackColor = false; - BtnTest.Visible = false; BtnTest.Click += BtnTest_Click; // // PicBxIRF2 diff --git a/AiQ_GUI.cs b/AiQ_GUI.cs index 55c9cb6..ba1c3ef 100644 --- a/AiQ_GUI.cs +++ b/AiQ_GUI.cs @@ -273,6 +273,8 @@ namespace AiQ_GUI await AllocateSerial(); else if (GoogleAPI.UpdateSpreadSheetRePreTest(CameraAccessInfo.SpreadsheetID, Vers) != "OK") // If rerun might be different values so update SS AddToActionsList("Failed to write to spreadsheet, please check manually"); + // else if (Excel.UpdateSpreadSheetPreTest(CameraAccessInfo.SpreadsheetID, Vers, CamOnTest.GetCamDesc(), CamOnTest.Model) != "OK") + // AddToActionsList("Failed to write to spreadsheet, please check manually"); } else // No serial or model so allocate one await AllocateSerial(); @@ -721,7 +723,7 @@ namespace AiQ_GUI // Set serial and model into camera string[,] TEST_JSON = { { "propSerialNumber", NewSerial }, { "propMavModelNumber", CamOnTest.Model } }; - string JSONResponse = await FlexiAPI.HTTP_Update("Internal Config", CamOnTest.IP, TEST_JSON); + string JSONResponse = await FlexiAPI.HTTP_Update("GLOBAL--FlexiApplication", CamOnTest.IP, TEST_JSON); if (!JSONResponse.Contains(NewSerial) || !JSONResponse.Contains(CamOnTest.Model)) { @@ -1712,12 +1714,43 @@ namespace AiQ_GUI } // ***** Test & Debug ***** - private void BtnTest_Click(object sender, EventArgs e) + private async void BtnTest_Click(object sender, EventArgs e) { Stopwatch stopWatchTest = Stopwatch.StartNew(); - StatsExcel excelExporter = new(); - excelExporter.ExportDatabaseToExcel(); + //StatsExcel excelExporter = new(); + //excelExporter.ExportDatabaseToExcel(); + + + //FakeCamera fakeCamera = new FakeCamera(80); // Create an instance of FakeCamera + + ////CamOnTest.IP = CbBxFoundCams.Text; + //_ = fakeCamera.StartAsync(CAMTYPE.GOOD).ContinueWith(task => + //{ + // //Network.Initialize("developer", "Pass123"); + + // if (task.IsFaulted) + // { + // AddToActionsList("Error starting FakeCamera: " + task.Exception?.Message); + // } + // else + // { + // AddToActionsList($"FakeCamera started successfully. IP: {fakeCamera}", false); + // } + //}); + + //await Task.Delay(3000); // Wait for server to start + //CbBxFoundCams.Text = "localhost"; // Should force update in creds an network reinit + //CmBoFoundCams_TextChanged(sender, e); + //CbBxCameraType.SelectedIndex = CbBxCameraType.Items.Count - 1; // Selects AB12CD as model number + + //await Task.Delay(3000); // Wait for server to start + + //BtnPreTest_Click(sender, e); + + + Teams.SendMssg("10", "Test User"); + stopWatchTest.Stop(); AddToActionsList("RunTime " + stopWatchTest.Elapsed.ToString(@"hh\:mm\:ss\.ff")); diff --git a/FakeCamera/FakeCamera.cs b/FakeCamera/FakeCamera.cs index e14ef55..45214bc 100644 --- a/FakeCamera/FakeCamera.cs +++ b/FakeCamera/FakeCamera.cs @@ -116,7 +116,7 @@ namespace AiQ_GUI if (requiresAuth) { string authHeader = context.Request.Headers["Authorization"]; - + if (string.IsNullOrEmpty(authHeader) || !authHeader.StartsWith("Basic ")) { context.Response.AddHeader("WWW-Authenticate", "Basic realm=\"FakeCamera\""); diff --git a/FakeCamera/Versions.json b/FakeCamera/Versions.json index 13b7045..f954b4c 100644 --- a/FakeCamera/Versions.json +++ b/FakeCamera/Versions.json @@ -1,6 +1,6 @@ { - "version": "1.6.4", - "revision": "77e042f", + "version": "1.7.1", + "revision": "4b63df5", "buildtime": "2025-07-24T10:35:36.445241784Z", "appname": "FlexiAI", "MAC": "3C:6D:66:0A:BA:18", diff --git a/HWAccessories/Printer.cs b/HWAccessories/Printer.cs index 9ee535e..2a41494 100644 --- a/HWAccessories/Printer.cs +++ b/HWAccessories/Printer.cs @@ -54,21 +54,36 @@ namespace AiQ_GUI public static void PrintGBLbl() { // New Label with UKCA logo - const string MadeInGB = "^XA~TA000~JSN^LT0^MNW^MTT^PON^PMN^LH0,0^JMA^PR2,2~SD15^JUS^LRN^CI0^XZ\n" + - "^XA\n" + - "^MMT\n" + - "^PW384\n" + - "^LL0096\n" + - "^LS0\n" + - "^FO192,0^GFA,01152,01152,00012,:Z64:\n" + - "eJzt0DEKgDAMBdCUDo49Qm9ij2aP1qN4BEeHYvziL0TURRcHA4VXaEryRf76agWciVZcaQ8nuoMHOsBKxypO2ZqK+Jke0NK+XNAy0hUuOx3exkzjbZSzPdw3j0cnzY999efdDHZOO/9hL7tvyuIrHSfEyGbk5vQiT5uzzX+bwDX/9a5WFTRBPA==:FF83\n" + - "^FO320,0^GFA,00768,00768,00008,:Z64:\n" + - "eJxjYBjOgAWIHYCYA4gNGOwYBEBs9v8HFEBycnY2IDkmOwabBiDNaP//L1jTBAYxMB3AIAOmDaC0AIMNmJawLwDTMvUTwLQQswCYlmRSANMcLVA6A0obQOkKVHlOqHouRgjNw/AAIs+QALEHSuswfADTLow/QBRjC2MNiGZi//8L7Ec2xo8MUD82gJ3JANaoAHY65UD+////D0ighxYAAPB/L1Q=:B1A7\n" + - "^FO0,0^GFA,02688,02688,00028,:Z64:\n" + - "eJzt071OwzAQB/BEHjL6ETzwAowMSH4Y3gMXdejII/RRcJWBsY9QVx0YsdTFEsbH3fmjSaGMDKhXZ/oldc73T9dd61r/sLTXcACnu8ENXsBCAHRGLhRbyLaQTqKFbDZbUmxWsaVsLhtINvwpemjJ5osNv9jI5o1TEW1kC8X2bAGvKLweQ4cWi3m2z2zqwJaqGTLAKwkvs0GxqIuZRzJIZGsyBUmRGXCPRvhhahJAsr27NLFdsRWZRtPNdkBGLZGprYt6WffbsvUAezL5vMdDqe/5ynYL4HlGEm2s/Y1sdwbCw8nMODVs8IbtAHhA5Tw3bPeKZnayPAfLphVAtjd6SShzN2wrujfbcKxzt5ptSXuwObQwsz1t4y5kEOB40Qx8XDLMJ1wyzCfNPOJd1FASoUs115hPMrC0qtmWTzZeaENEcy2fbJ5WNd/yObc0Md8skEmy0PJJtvRaBN3h2ZHlXDPPDNBSNTUz9YIG1WTZr9oitcxD7W9g02zrmXEPZIpsN7PQzKaS66k5Mhx6Krmu9hTprMnApZLrn208N8X/id/AueHnK32zzfm7DGQ9m/1m1HsfRUg116fe+cz6wKZnZvERNBH6WO1a1/qD+gLCtYx7:603A\n" + - "^FO256,0^GFA,01152,01152,00012,:Z64:\n" + - "eJzt0DEKwzAMBVAJDxlzBB/F18pQcI7mo/gIGlVwqzpBrkSbDoGO+V4egXy+DXDlv8EKtMCyO1QkRjZPZJ6LOa7mDOZmfrBZyLk4rz++1+9/kZDuzcxPtQhx0suIVI7FPGtRlsJBi6LAuOPpRKFpDM1CcYzrG5Lw21mNu5tuBrj1M9zUoU/kkxbt9N46D83O21tpD3hn5+R85SMvvQiYIA==:00E3\n" + - "^PQ1,0,1,Y^XZ"; + const string MadeInGB = "^CT~~CD,~CC^~CT~\n" + + "^XA\n" + + "~TA000\n" + + "~JSN\n" + + "^LT0\n" + + "^MNW\n" + + "^MTT\n" + + "^PON\n" + + "^PMN\n" + + "^LH0,0\n" + + "^JMA\n" + + "^PR2,2\n" + + "~SD15\n" + + "^JUS\n" + + "^LRN\n" + + "^CI27\n" + + "^PA0,1,1,0\n" + + "^XZ\n" + + "^XA\n" + + "^MMT\n" + + "^PW384\n" + + "^LL96\n" + + "^LS0\n" + + "^FO212,34^GFA,225,280,8,:Z64:eJxVkDEKwkAQRZ+GRbs0oo2CtYcwV0hno+AR0oiVkKOk9jTbWAa2TLllKte/uJi1WIbHnz/zZ5l3cABMAyfVaqQILVwsphcHTxlgdoNNDcWoFsnGwlly6eCtutBrIktTCztZvOpRFrWwFl8TD0vYil/1l4MMK/G9mTjX3f7f79J8m+377U95Yr4HKW835ScMuie7r/JaGAek++N/PFs+dGoy4g==:0511\n" + + "^FO336,26^GFA,217,384,8,:Z64:eJxrYEAAFiBWAGIOME8ACIFsvncdIDEWFhERByDNZLdqXwOQZhRkFAQrW8DABaYDGETAtAGDFVQ7hM+htQNMi9QLgGkuZQUwzQi1lKMDwmdwgPINoHwBVHmYei4mBbhjwfIMD6DKIQZoMHyASDBCDOjhfgWmWUMDQBQTE8MGJC+D/boAia/AQBng////P8hB8kD6ABKfHwcfACScKCU=:8B00\n" + + "^FO11,27^GFA,817,1125,25,:Z64:eJxtkkFu00AYhf/pgBwJKcOCbjM3KDewc4QusFhyBZYsAp7UCyIhkSuwZsEZJgKJJSdAmaoLsmqmQhUjYfnn/WMnrVRsRbYz8+nNe/+jlVxuQhP5rWi1ognh9ZNiubwlQ5ZsRw2TLbwh0nkhVC7f7Jip0sGc0JGoqCHLXggd7R0RsBlE4N7ZNpnVUcM31HhbxAVBo7M0PxCR3d9Q6pQIGr1xR+KG6befqUzo/p4GZ4JS/5lsy+uLyUjMmh/qJswoNR00tnc+ymrdXkUQ3ENjvyZSdV0LYY26jDN6I4T+viUi59qRCGkgbHvFDitUCPHIFLdpplL2sWH5n4wQZN5zOvi4T5ApuJvpwYdnOVWqBmLNfcW77APBId1YDYT5thjTLRAciMAj4crjPCr4kE2ZwAAt5wlqn7NqhTij6Ud39mXnrq/d9CJMRQOnYU8PLmTPicPDBdUVHP9LwMaOw2T8nOQ7E7Dh2Z++oPpcndf1/BmdqvljELDhZIKOexVllrlXIMQr+iF2VGzwOPSqRZOEALlMIDj3Cj5gg9CSl/7tq02sb+dYKBKIE9ggZKVDMsuoA6GP0iuZRnwKQvtFsYkqqj94RxMxL97BefkkdGaTdFB7b9tMwMbrrDESv/zQK8JhYvbRPxcNfRWGXlE+fvbRYH/UmzD0SnO/TkcfQkTb7vcyj65AuhZYJwSEbPF1bEkUH1GyQkr4zr1CS+xALMpM4FtvMrGTCZYfUldBYwfi0CvfCLGNCyuE+dkderXk7GPMyrp3h15BJfsYnFtajL3q15x9uM5cwkfpSmggq38uZhFX:58F1\n" + + "^FO278,28^GFA,273,360,8,:Z64:eJx1j7ENwjAQRX8UoRQUKel8LcoMyG6yB2ukCCSlR0EMgSgYgBEyAUrpwspxZwcJIWFLPj3/++fvC/YNGqBHb+RAgLVyoMPBFHPmeso63TM7ZF3alV1I3NO88pR1mr508dPaLw+s86Qu15jmDxxMJdVxsKUYdjynPFseLW74v7yHH4ENx2J4AjUvJYufOFYcdd4iV8CpbelxBM5yJVvygWTrVy1qzQOj9cOdctYdc9JJ6y8v3rsXa/6Y/PJe8pMypTyJ30wJYOg=:5E2C\n" + + "^PQ1,0,1,Y\n" + + "^XZ"; + if (!PrintToZebra(MadeInGB)) MainForm.Instance.AddToActionsList("Error printing GB label"); diff --git a/Microsoft/Teams.cs b/Microsoft/Teams.cs index 56add70..0adf4d7 100644 --- a/Microsoft/Teams.cs +++ b/Microsoft/Teams.cs @@ -7,7 +7,7 @@ namespace AiQ_GUI { const string webhookUrl = "https://default71bd136a1c65418fb59e927135629c.ac.environment.api.powerplatform.com:443/powerautomate/automations/direct/workflows/b27c5192e83f4f48b20c1b115985b0b3/triggers/manual/paths/invoke/?api-version=1&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=1-eCbYXms6xInRKHwz3tgAcdQ9x7CSjl3Yzw2V_1MlA"; - public static async Task SendMssg(string ApprovalRow, string User) + public static async Task SendMssg(string ApprovalRow, string User) // Sometimes You will need to reauthenticate the workflow { using HttpClient client = new HttpClient();