basurman971, на самом деле интересно разобраться просто. Что касается звука, мне особо сравнивать не с чем, а так что-то новое))
Собрал выходной буфер на 74hc86. Полет нормальный.
basurman971, на самом деле интересно разобраться просто. Что касается звука, мне особо сравнивать не с чем, а так что-то новое))
Собрал выходной буфер на 74hc86. Полет нормальный.
Последний раз редактировалось manu_245; 04.01.2016 в 04:17.
В ходе экспериментов со звуком пришла мысль выводить подсказки навигации и системные звуки через встроенную звуковую карту, а музыку через wasapi и spdif. Для этого нужен отдельный усилитель. Требования к нему весьма скромные. Пока нашел такой вариант на TPA3123D2: http://masterkit.ru/shop/multimedia/1493910
В этой связи есть вопросы.
1. Питания бортовой сети ему будет достаточно? Диапазон входных напряжений 10-30В. Высокого качества не требуется. Или все же лучше стабилизированный источник использовать?
2. Непонятным остается размещение акустики. Идеальным был бы динамик по центру торпеды, но форма там неудачная, нет подходящей плоскости. Остается либо стоковая акустика в задних дверях (просто, но как-то нелогично), либо кетайские корпусные динамики под сиденья типа таких:
С предложенной тобой микросхемой дела не имел, да и диапазон напряжений заточен явно больше чем 12 вольт, а вот с такой http://masterkit.ru/shop/multimedia?...ode=&label_id= лет 15-20 назад, имел.
И довольно часто))) Весьма неприхотливый усь, с нормальным для твоих задач звуком.
По поводу говорилки, поспрошай на разборках СЧ динамик штатный, лехус тоета финик, можно у них и с решеткой декоративной вымогнуть. Размер у них небольшой и врезать не проблемно будет.
Последний раз редактировалось basurman971; 11.01.2016 в 01:01.
Подскажите, как правильно отследить гибернацию?
Написал обработчик команд энкодера и резистивных кнопок. Получает данные от атмеги через ком-порт.
При выключение-включении компа все работает корректно.
При выходе из гибернации не видит порт. Пробовал через PowerModeChangedEventHandler.
Для отладки пишет лог в файл. Засыпание отрабатывается правильно, но при пробуждении не может открыть порт.
PHP код:
void OnPowerModeChanged(object sender, PowerModeChangedEventArgs e)
{
string logpath = Application.StartupPath + @"\powerlogger.txt";
if (File.Exists(logpath))
{
FileInfo f = new FileInfo(logpath);
long s1 = f.Length;
if (s1 > 10485760)
{
System.IO.File.Delete(logpath);
}
}
if (!File.Exists(logpath))
{
using (StreamWriter sw = File.CreateText(logpath))
{
sw.WriteLine("Powermodelogger:");
}
}
if (e.Mode == PowerModes.Suspend)
{
using (StreamWriter sw = File.AppendText(logpath))
{
sw.WriteLine("Засыпаем:" + DateTime.Now.ToString());
}
if(serialPort1.IsOpen)
{
serialPort1.DiscardOutBuffer();
serialPort1.DiscardInBuffer();
serialPort1.Close();
if(!serialPort1.IsOpen)
{
using (StreamWriter sw = File.AppendText(logpath))
{
sw.WriteLine("Порт " + comname.ToString() + " закрыт");
}
}
}
}
if(e.Mode == PowerModes.Resume)
{
using (StreamWriter sw = File.AppendText(logpath))
{
sw.WriteLine("Просыпаемся:" + DateTime.Now.ToString());
}
open_port(comname);
if (serialPort1.IsOpen)
{
using (StreamWriter sw = File.AppendText(logpath))
{
sw.WriteLine("Порт "+comname.ToString()+" открыт");
}
}
}
}
private void open_port(string name)
{
if (comname != null)
{
try
{
if (!serialPort1.IsOpen)
{
serialPort1.PortName = name;
serialPort1.Open();
}
}
catch
{
MessageBox.Show("Ошибка порта", "Ошибка");
}
}
else
{
MessageBox.Show("Ошибка имени порта", "Ошибка");
}
}
Аналогичные изыскание провел со встроенной картой...все работает, но в качестве выходного каскада выбрал USB колонки ....думаю громкости хватит для подсказок навигации и громкой связи.В ходе экспериментов со звуком пришла мысль выводить подсказки навигации и системные звуки через встроенную звуковую карту,
sirota, громкости по идее хватит. для меня бОльшая проблема как разместить эти колонки. пока думаю.
Наконец допилил ЦАП.
Межблоки. Кабель Canare L-4E6S, разъемы REAN 373.
Победил гибернацию. Теперь все работает корректно.
Входы:
1. Энкодер с нажатием
2. Два канала АЦП (предусмотрено в железе, программно реализован 1 канал, второй используется как цифровой вход для shift SONY RM-X4S)
3. Датчик освещенности (предусмотрено в железе, не реализовано пока программно)
4. Два входа +12В по высокому уровню (включение ЗХ, габаритов). И включение, и выключение отрабатываются как отдельные команды.
Функции:
1. “Режим++" переключение режимов. Для назначения разных действий на одну кнопку.
2. "Яркость+" яркость+10
3. "Яркость-" яркость-10
4. "Яркость коэфф." Изменяет яркость монитора относительно текущего значения в заданное кол-во раз. Например по вкл. габаритов.
5. "Яркость уров." Задает предустановленное значение яркости монитора.
6. "Яркость восст." Возвращает прежнее значение яркости. Запоминание происходит при вызове действий 4 и 5.
7. "Монитор вкл." Нажимает кнопку включения монитора 1 раз.
8. "Монитор канал" Нажимает кнопку переключения каналов монитора 1 раз
9. "Клавиши" Эмулирует нажатие до 3 клавиш.
10. "Клик в точке" Перемещает курсор в заданную точку и эмулирует 1 клик левой кнопкой мыши.
11. "2xКлик в точке" То же, двойной клик.
12. "Курсор X" Перемещает курсор мыши по оси Х на заданное кол-во пикселей
13. "Курсор Y" То же, ось Y.
14. "Прав. клик"
15. "Лев. клик"
16. "2xКлик"
17. "Громкость+X" Увеличивает громкость на заданное значение Х по сравнению с текущим.
18. "Громкость-X"
19. "Громкость+" Эмулирует нажатие кнопки VolUP мультимедийной клавиатуры
20. "Громкость-"
21. "Выкл. звук"
22. "Громк. коэф." Изменяет громкость относительно текущего значения в заданное кол-во раз
23. "Громк. уров." Задает новое предустановленное значение громкости
24. "Громк. восст." Возвращает прежнее значение громкости. Запоминание происходит при вызове действий 22 и 23.
Тестировалось под WIN8.1. Работоспособность функций 17,18,22-24 на других ОС не проверялась.
В архиве прошивка для меги 168 с исходниками, схема, печатка в SL5, софт для настройки действий и сама исполнительная программа.
Controls4.rar
Последний раз редактировалось manu_245; 23.06.2016 в 23:33.
А в чем была проблема?Победил гибернацию. Теперь все работает корректно.
Речь шла о работе моего приложения для обработки команд энкодера/джойстика при выходе из гибернации. Похоже, что косяк был скорее в железе, чем в софте. Программная часть решилась быстро с помощью OnPowerModeChanged (об этом писал выше). Но данные все равно не шли. В итоге дописал сигнал DTR при открытии порта и сбрасываю им мегу на старте. Теперь полет нормальный.
Эту тему просматривают: 3 (пользователей: 0 , гостей: 3)