on demand discovery
This commit is contained in:
30
MainForm.cs
30
MainForm.cs
@@ -14,8 +14,8 @@ namespace robospot_camera_finder
|
||||
{
|
||||
public partial class MainForm : Form
|
||||
{
|
||||
public string VERSION = "1.1.0";
|
||||
// Version
|
||||
public string VERSION = "1.2.0";
|
||||
|
||||
// Main list containing all cameras
|
||||
private BindingList<Camera> all_cameras = new();
|
||||
@@ -39,23 +39,21 @@ namespace robospot_camera_finder
|
||||
// Camera class
|
||||
public class Camera
|
||||
{
|
||||
public Camera(string name, string ip, string location, string serial)
|
||||
public Camera(string name, string ip, string id)
|
||||
{
|
||||
camera_name = name;
|
||||
camera_ip = ip;
|
||||
camera_location = location;
|
||||
camera_serial = serial;
|
||||
camera_id = id;
|
||||
}
|
||||
|
||||
public string camera_name { get; set; }
|
||||
|
||||
public string camera_ip { get; set; }
|
||||
|
||||
public string camera_location { get; set; }
|
||||
|
||||
public string camera_serial { get; set; }
|
||||
public string camera_id { get; set; }
|
||||
}
|
||||
|
||||
// Discovery packet struc
|
||||
[StructLayout(LayoutKind.Sequential, Pack = 1)]
|
||||
public struct DataPacketIPv4
|
||||
{
|
||||
@@ -164,7 +162,7 @@ namespace robospot_camera_finder
|
||||
}
|
||||
|
||||
// Add cameras to the main list
|
||||
private void add_camera(Camera new_camera)
|
||||
private void AddCamera(Camera new_camera)
|
||||
{
|
||||
if (all_cameras.Count == 0)
|
||||
{
|
||||
@@ -172,7 +170,7 @@ namespace robospot_camera_finder
|
||||
}
|
||||
else
|
||||
{
|
||||
Camera find_cam = all_cameras.FirstOrDefault(cam => cam.camera_serial == new_camera.camera_serial);
|
||||
Camera find_cam = all_cameras.FirstOrDefault(cam => cam.camera_id == new_camera.camera_id);
|
||||
|
||||
if (find_cam != null)
|
||||
{
|
||||
@@ -369,8 +367,7 @@ namespace robospot_camera_finder
|
||||
Camera discoveredCamera = new Camera(
|
||||
$"{deviceName} - ({cameraIP})",
|
||||
cameraIP,
|
||||
$"MAC: {macAddress}",
|
||||
packetId // Using packet_id as serial for uniqueness
|
||||
packetId
|
||||
);
|
||||
|
||||
// Add camera to list (must be done on UI thread)
|
||||
@@ -412,6 +409,7 @@ namespace robospot_camera_finder
|
||||
|
||||
isDiscovering = true;
|
||||
toolStripStatusLabel.Text = "Discovering cameras...";
|
||||
discoverToolStripMenuItem.Enabled = false;
|
||||
|
||||
try
|
||||
{
|
||||
@@ -437,6 +435,7 @@ namespace robospot_camera_finder
|
||||
{
|
||||
isDiscovering = false;
|
||||
toolStripStatusLabel.Text = $"Discovery complete. Found {all_cameras.Count} cameras.";
|
||||
discoverToolStripMenuItem.Enabled = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -496,8 +495,8 @@ namespace robospot_camera_finder
|
||||
{
|
||||
string ipAddress = manualForm.ipAddress;
|
||||
|
||||
Camera camera_to_add = new Camera("Camera " + ipAddress, ipAddress, "", "CAM_FINDER_" + DateTime.Now.Ticks.ToString());
|
||||
add_camera(camera_to_add);
|
||||
Camera camera_to_add = new Camera("Camera " + ipAddress, ipAddress, ipAddress);
|
||||
AddCamera(camera_to_add);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -515,5 +514,10 @@ namespace robospot_camera_finder
|
||||
|
||||
base.OnFormClosing(e);
|
||||
}
|
||||
|
||||
private void discoverToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
DiscoverCameras();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user