mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-02-15 12:44:58 +00:00
Temp commit to capture progress on MicrophonePrivacy before switching branches to help debug Samsung MDC driver
This commit is contained in:
@@ -393,12 +393,12 @@ namespace PepperDash.Essentials.Devices.Displays
|
|||||||
|
|
||||||
public void InputHdmi1()
|
public void InputHdmi1()
|
||||||
{
|
{
|
||||||
SendBytes(new byte[] { 0xAA, 0x14, 0x00, 0x01, 0x22, 0x00 });
|
SendBytes(new byte[] { 0xAA, 0x14, 0x00, 0x01, 0x21, 0x00 });
|
||||||
}
|
}
|
||||||
|
|
||||||
public void InputHdmi2()
|
public void InputHdmi2()
|
||||||
{
|
{
|
||||||
SendBytes(new byte[] { 0xAA, 0x14, 0x00, 0x01, 0x24, 0x00 });
|
SendBytes(new byte[] { 0xAA, 0x14, 0x00, 0x01, 0x23, 0x00 });
|
||||||
}
|
}
|
||||||
|
|
||||||
public void InputHdmi3()
|
public void InputHdmi3()
|
||||||
|
|||||||
@@ -120,6 +120,7 @@
|
|||||||
<Compile Include="Factory\DeviceFactory.cs" />
|
<Compile Include="Factory\DeviceFactory.cs" />
|
||||||
<Compile Include="Generic\GenericSource.cs" />
|
<Compile Include="Generic\GenericSource.cs" />
|
||||||
<Compile Include="Microphones\MicrophonePrivacyController.cs" />
|
<Compile Include="Microphones\MicrophonePrivacyController.cs" />
|
||||||
|
<Compile Include="Microphones\MicrophonePrivacyControllerConfig.cs" />
|
||||||
<Compile Include="Occupancy\EssentialsGlsOccupancySensorBaseController.cs" />
|
<Compile Include="Occupancy\EssentialsGlsOccupancySensorBaseController.cs" />
|
||||||
<Compile Include="Occupancy\EssentialsOccupancyAggregator.cs" />
|
<Compile Include="Occupancy\EssentialsOccupancyAggregator.cs" />
|
||||||
<Compile Include="Occupancy\iOccupancyStatusProvider.cs" />
|
<Compile Include="Occupancy\iOccupancyStatusProvider.cs" />
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ namespace PepperDash.Essentials.Devices.Common.Microphones
|
|||||||
/// Used for applications where one or more microphones with momentary contact closure outputs are used to
|
/// Used for applications where one or more microphones with momentary contact closure outputs are used to
|
||||||
/// toggle the privacy state of the room. Privacy state feedback is represented
|
/// toggle the privacy state of the room. Privacy state feedback is represented
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class MicrophonePrivacyController
|
public class MicrophonePrivacyController : Device
|
||||||
{
|
{
|
||||||
public bool EnableLeds
|
public bool EnableLeds
|
||||||
{
|
{
|
||||||
@@ -44,13 +44,17 @@ namespace PepperDash.Essentials.Devices.Common.Microphones
|
|||||||
|
|
||||||
public IPrivacy PrivacyDevice { get; private set; }
|
public IPrivacy PrivacyDevice { get; private set; }
|
||||||
|
|
||||||
public MicrophonePrivacyController(IPrivacy privacyDevice)
|
public MicrophonePrivacyController(string key, MicrophonePrivacyControllerConfig config) :
|
||||||
|
base(key)
|
||||||
|
{
|
||||||
|
Inputs = new List<IDigitalInput>();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SetPrivacyDevice(IPrivacy privacyDevice)
|
||||||
{
|
{
|
||||||
PrivacyDevice = privacyDevice;
|
PrivacyDevice = privacyDevice;
|
||||||
|
|
||||||
PrivacyDevice.PrivacyModeIsOnFeedback.OutputChange += new EventHandler<EventArgs>(PrivacyModeIsOnFeedback_OutputChange);
|
PrivacyDevice.PrivacyModeIsOnFeedback.OutputChange += new EventHandler<EventArgs>(PrivacyModeIsOnFeedback_OutputChange);
|
||||||
|
|
||||||
Inputs = new List<IDigitalInput>();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void PrivacyModeIsOnFeedback_OutputChange(object sender, EventArgs e)
|
void PrivacyModeIsOnFeedback_OutputChange(object sender, EventArgs e)
|
||||||
|
|||||||
@@ -0,0 +1,13 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using Crestron.SimplSharp;
|
||||||
|
|
||||||
|
namespace PepperDash.Essentials.Devices.Common.Microphones
|
||||||
|
{
|
||||||
|
public class MicrophonePrivacyControllerConfig
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -130,31 +130,6 @@ namespace PepperDash.Essentials
|
|||||||
Debug.Console(0, "WARNING: Cannot load unknown device type '{0}', key '{1}'.", devConf.Type, devConf.Key);
|
Debug.Console(0, "WARNING: Cannot load unknown device type '{0}', key '{1}'.", devConf.Type, devConf.Key);
|
||||||
}
|
}
|
||||||
|
|
||||||
// CODEC TESTING
|
|
||||||
/*
|
|
||||||
try
|
|
||||||
{
|
|
||||||
GenericSshClient TestCodecClient = new GenericSshClient("TestCodec-1--SshClient", "10.11.50.135", 22, "crestron", "2H3Zu&OvgXp6");
|
|
||||||
|
|
||||||
var props = new PepperDash.Essentials.Devices.Common.Codec.CiscoCodecPropertiesConfig();
|
|
||||||
|
|
||||||
props.PhonebookMode = "Local";
|
|
||||||
props.Favorites = new System.Collections.Generic.List<PepperDash.Essentials.Devices.Common.Codec.CodecActiveCallItem>();
|
|
||||||
props.Favorites.Add(new PepperDash.Essentials.Devices.Common.Codec.CodecActiveCallItem() { Name = "NYU Cisco Webex", Number = "10.11.50.211" });
|
|
||||||
|
|
||||||
PepperDash.Essentials.Devices.Common.VideoCodec.Cisco.CiscoCodec TestCodec =
|
|
||||||
new PepperDash.Essentials.Devices.Common.VideoCodec.Cisco.CiscoCodec("TestCodec-1", "Cisco Spark Room Kit", TestCodecClient, props);
|
|
||||||
|
|
||||||
TestCodec.CommDebuggingIsOn = true;
|
|
||||||
|
|
||||||
TestCodec.CustomActivate();
|
|
||||||
}
|
|
||||||
catch (Exception e)
|
|
||||||
{
|
|
||||||
Debug.Console(0, "Error in something Neil is working on ;) \r{0}", e);
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
// CODEC TESTING
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@@ -73,6 +73,8 @@ namespace PepperDash.Essentials.Room.Config
|
|||||||
rm.DefaultSourceItem = props.DefaultSourceItem;
|
rm.DefaultSourceItem = props.DefaultSourceItem;
|
||||||
rm.DefaultVolume = (ushort)(props.Volumes.Master.Level * 65535 / 100);
|
rm.DefaultVolume = (ushort)(props.Volumes.Master.Level * 65535 / 100);
|
||||||
|
|
||||||
|
rm.MicrophonePrivacy = GetMicrophonePrivacy(props, rm); // Get Microphone Privacy object, if any
|
||||||
|
|
||||||
rm.Emergency = GetEmergency(props, rm); // Get emergency object, if any
|
rm.Emergency = GetEmergency(props, rm); // Get emergency object, if any
|
||||||
|
|
||||||
return rm;
|
return rm;
|
||||||
@@ -97,6 +99,21 @@ namespace PepperDash.Essentials.Room.Config
|
|||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
PepperDash.Essentials.Devices.Common.Microphones.MicrophonePrivacyController GetMicrophonePrivacy(EssentialsRoomPropertiesConfig props, EssentialsHuddleVtc1Room room)
|
||||||
|
{
|
||||||
|
var microphonePrivacy = props.MicrophonePrivacy;
|
||||||
|
if (microphonePrivacy != null)
|
||||||
|
{
|
||||||
|
// Get the MicrophonePrivacy device from the device manager
|
||||||
|
var mP = (DeviceManager.GetDeviceForKey(props.MicrophonePrivacy.Key) as PepperDash.Essentials.Devices.Common.Microphones.MicrophonePrivacyController);
|
||||||
|
// Set this room as the IPrivacy device
|
||||||
|
mP.SetPrivacyDevice(room);
|
||||||
|
|
||||||
|
return mP;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -105,6 +122,7 @@ namespace PepperDash.Essentials.Room.Config
|
|||||||
public class EssentialsRoomPropertiesConfig
|
public class EssentialsRoomPropertiesConfig
|
||||||
{
|
{
|
||||||
public EssentialsRoomEmergencyConfig Emergency { get; set; }
|
public EssentialsRoomEmergencyConfig Emergency { get; set; }
|
||||||
|
public EssentialsRoomMicrophonePrivacyConfig MicrophonePrivacy {get; set;}
|
||||||
public string HelpMessage { get; set; }
|
public string HelpMessage { get; set; }
|
||||||
public string Description { get; set; }
|
public string Description { get; set; }
|
||||||
public int ShutdownVacancySeconds { get; set; }
|
public int ShutdownVacancySeconds { get; set; }
|
||||||
@@ -118,6 +136,11 @@ namespace PepperDash.Essentials.Room.Config
|
|||||||
public EssentialsRoomVolumesConfig Volumes { get; set; }
|
public EssentialsRoomVolumesConfig Volumes { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class EssentialsRoomMicrophonePrivacyConfig
|
||||||
|
{
|
||||||
|
public string Key { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Properties for the help text box
|
/// Properties for the help text box
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -51,6 +51,8 @@ namespace PepperDash.Essentials
|
|||||||
|
|
||||||
public PepperDash.Essentials.Room.EssentialsRoomEmergencyBase Emergency { get; set; }
|
public PepperDash.Essentials.Room.EssentialsRoomEmergencyBase Emergency { get; set; }
|
||||||
|
|
||||||
|
public PepperDash.Essentials.Devices.Common.Microphones.MicrophonePrivacyController MicrophonePrivacy { get; set; }
|
||||||
|
|
||||||
public string LogoUrl { get; set; }
|
public string LogoUrl { get; set; }
|
||||||
|
|
||||||
protected SecondsCountdownTimer RoomVacancyShutdownTimer { get; private set; }
|
protected SecondsCountdownTimer RoomVacancyShutdownTimer { get; private set; }
|
||||||
|
|||||||
Reference in New Issue
Block a user