PCCar.ru - Ваш автомобильный компьютер

PCCar.ru - Ваш автомобильный компьютер (http://pccar.ru/index.php)
-   Софт (http://pccar.ru/forumdisplay.php?f=172)
-   -   Serial Manager - автоматизация/управление Android с помощью Arduino (http://pccar.ru/showthread.php?t=24120)

ali_vlad 30.07.2016 00:15

Немного разобрался
На мой взгляд, установка GPIO по умолчанию в 0 - не подходит для кнопок, ибо будет правильнее, если они будут замыкаться на массу.
И первый глюк: Если после создания команды попытаться её отредактировать, то созданная /sys/class/gpio/gpio*** исчезает
Иногда возникает оооочень долгая задержка, секунд так 30.
Как повесить запуск приложения на изменение gpio так и не понял.

indevor 30.07.2016 01:58

Всем привет. Такая проблема. Подключил датчик ds18b20 по этому коду, через леонардо на тв боксе (свистке) mk908ii (rk3188), прошивка Finless 1.6 (4.2.2):
Код:

#include
OneWire ds(9);
 
void setup() {
pinMode(6, OUTPUT);          // set pin to input
digitalWrite(6, HIGH);
Serial.begin(9600);
}
 
void loop() {
 
byte data[2];
ds.reset();
ds.write(0xCC);
ds.write(0x44);
delay(750);
ds.reset();
ds.write(0xCC);
ds.write(0xBE);
data[0] = ds.read();
data[1] = ds.read();
int Temp = (data[1]<< 8)+data[0];
Temp = Temp>>4;
Serial.print(" Serial.print(Temp);
Serial.println(">");
delay(5000);
}

конфигурация такая: usb свистка - хаб1 - хаб2 - леонардо.
Из железа: контроллера тача на таком же леонардо (хаб1), звук c-media (хаб1) - хаб2 - леонардо(хаб2), мышь(хаб2), клава(хаб2).
При рабочей системе - с большего всё ок. Стоят галки автоопределение и переподключение. Как только перезагружаю систему, всё наглухо виснет и не даёт загрузится (экран, бутлого, просто замирает, потом свисток отрубается, чёрный экран). По светодиодам видно что леонардо стартует и открывает порт где то в середине загрузки потом грузится пару фризов и всё - стоп)

Ещё заметил если убрать и скетча delay(5000); данных видно становится многовато и всплывающее окно не исчезает. (в моём случаи )

Пробовал отключать всё кроме тача и леонардо с датчиком.. жутки тормоз и по итого не грузит.
Да. каждый раз, при перезагрузках с 1 хабом устройства разные /dev/usb/001 ..2..3..6. и если убрать автоопределение и вручную указать /dev/usb/001 то при след. перезагрузке эта настройка не сохраниться, так как такого устройства уже не будет. Однако если зайти в терминал и набрать cat /dev/ttyACM0 леонардо будет висеть там постоянно и исправно показывать данные. может как то можно указать этот порт вручную? Или как то в скетч указать что бы контроллер прикидывался строго определенным образом..

Maniac82 30.07.2016 18:03

Цитата:

Сообщение от DelleTenebre (Сообщение 365984)
mark949, спасибо.

Приношу свои извинения всем кто активно пользовался виджетами приёма данных - они у вас немножко (почти полностью) сломаются. Но в качестве компенсации вы получаете возможность пользоваться математическими выражениями и функциями описанными по этой ссылке, а так же hex2dec(), dec2hex(), bin2dec(), dec2bin(), выводить значение ключа с помощью %key, а полученного от контроллеров значения через %value. Все эти плюшки работают и в уведомлениях.

Не много не понял про сей момент.
То есть если у меня стоит виджет принимающий команду , то он перестанет работать совсем? Или его по новой просто надо будет сделать? Или вообще виджеты не будут работать?

DelleTenebre 30.07.2016 19:07

indevor, на данный момент у меня решения нет. Я пока что не знаю как более менее правильно считывать с /dev/ttyACM0.

Maniac82, виджеты останутся (должны по крайней мере) - сбросится их содержимое и будет нужно настроить вывод текста заново. Ключи сохранятся, только текст сбросится.

indevor 30.07.2016 22:03

Цитата:

Сообщение от DelleTenebre (Сообщение 366021)
indevor, на данный момент у меня решения нет. Я пока что не знаю как более менее правильно считывать с /dev/ttyACM0.

Спасибо за ответ. Думаю мне нужна просто задержка определения устройств вашей программой. Отложенный запуск.
Вы пишите:
Цитата:

USB
Запуск/остановка сервиса, считывающего информацию с последовательного порта, производится при получении ACTION_USB_DEVICE_ATTACHED / ACTION_USB_DEVICE_DETACHED.
Может Вам известно как в таскере сделать что бы ваш сервис стартовал после полной загрузки ОС. Либо с паузой параллельно загрузке.

DelleTenebre 30.07.2016 22:28

Цитата:

Сообщение от indevor
Может Вам известно как в таскере сделать что бы ваш сервис стартовал после полной загрузки ОС. Либо с паузой параллельно загрузке.

В таскере нет, но я добавлю опции "Автозапуск" и "Задержка автозапуска".

indevor 30.07.2016 22:38

Отлично, спасибо! Буду ждать релиз.

DelleTenebre 31.07.2016 00:05

В 1.6.4 добавил опции автозапуска.

indevor 31.07.2016 01:11

Цитата:

Сообщение от DelleTenebre (Сообщение 366048)
В 1.6.4 добавил опции автозапуска.

Благодарю за оперативность!. То, что нужно. По итогу заработало благодаря паузе в 10 сек. Как то не сразу виджет схватывает ключ или мне кажется при первичной настройке.
И по-моему были проблемы когда в хаб вставлена флешка. видно как она перезагружатся несколько раз, но леонардо не открывает порт, хотя стояло автоопределение. Буду тестить, пробовал по разному поэтому сказать наверняка о багах не могу.

indevor 31.07.2016 01:53

Вообщем мистика, может что не то натыкал, все работает благодаря паузе со всеми устройствами и двумя хабами.


Часовой пояс GMT +4, время: 05:45.

Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot