public LcdConnection(IGpioConnectionDriver driver)
        {
            log.Debug(m => m("Init LCD connection"));

            var lcdSettings = new Hd44780LcdConnectionSettings
            {
                ScreenWidth = Columns,
                ScreenHeight = Rows,
                //Encoding = Encoding.ASCII
            };

            var dataPins = new[]
                {
                    ConnectorPin.P1Pin31,
                    ConnectorPin.P1Pin33,
                    ConnectorPin.P1Pin35,
                    ConnectorPin.P1Pin37
                }
                .Select(p => (IOutputBinaryPin)driver.Out(p))
                .ToArray();

            var lcdPins = new Hd44780Pins(
                driver.Out(ConnectorPin.P1Pin40),
                driver.Out(ConnectorPin.P1Pin38),
                dataPins);

            _lcdConnection = new Hd44780LcdConnection(lcdSettings, lcdPins);

            // init additonal characters
            _lcdConnection.SetCustomCharacter(0x0, new byte[] { 0x8, 0xc, 0xe, 0xf, 0xe, 0xc, 0x8 });       // play
            _lcdConnection.SetCustomCharacter(0x1, new byte[] { 0x0, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x0 });  // pause
            _lcdConnection.SetCustomCharacter(0x2, new byte[] { 0x0, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x0 });  // stop

        }
예제 #2
0
        public void Log_validArgs_withParams()
        {
            var args = new[]
            {
                KeyValuePair.Create("a", "b"),
                KeyValuePair.Create("c", "d")
            };

            var res = CaravanDataSource.Logger.LogRaw(LogLevel.Info, _myApp.Name, "", "UnitTests.DataAccess.LogManagerTests", "Log_validArgs_", "test", args: args);

            Assert.True(res.Succeeded);

            var q = CaravanDataSource.Logger.GetEntries(_myApp.Name).Where(l => l.CodeUnit == "unittests.dataaccess.logmanagertests");
            Assert.That(q.Count(), Is.EqualTo(1));

            var q1 = CaravanDataSource.Logger.GetEntries(_myApp.Name).Where(l => l.Function == "log_validargs_");
            Assert.That(q1.Count(), Is.EqualTo(1));

            Assert.True(args.SequenceEqual(q1.First().Arguments));
        }
        public override string ToString()
        {
            var radio = new
            {
                OperatingMode = OperatingMode.GetName(),
                TransmitFIFO = TransmitPipe.FifoStatus.GetName(),
                ReceiveFIFO = ReceivePipes.FifoStatus.GetName(),
                ReceivePipes.ReceivedPowerDetector
            };

            string output = string.Format("Radio\r\n{0}\r\n{1}{2}",
                JsonHelper.ToJson(radio),
                Configuration,
                RegisterContainer);
            _logger.InfoFormat("Diagnostics Information\r\n{0}", output);
            return output;
        }