Технический форум по робототехнике.
=DeaD= » 21 мар 2010, 20:16
Michael_K писал(а):Так это и софтово поддержано?

О чем речь то? Обычные i2c-устройства - мастер по запросу через uart раздаёт команды i2c-слейвам и всё.
Алексей » 21 мар 2010, 22:06
А живые прошивки с реализованным i2c слэйвом уже есть?
=DeaD= » 21 мар 2010, 22:09
Я пока не дошел до этого пункта, сейчас вот Vooon'у вышлю OR-duino - может с него попробует порулить OR-AVR-M32-D, а там и до OR-AVR-M128-(D)S недалеко.
=DeaD= » 22 мар 2010, 11:11
Повторю набор команд:
# <ch> P <pw> S <spd> ... # <ch> P <pw> S <spd> T <time> <cr>
# <ch> PO <offset value> ... # <ch> PO <offset value> <cr>
Q <cr>
QP <arg> <cr>
VER <cr>
M <(speed1|*)> <(speed2|*)> <cr>
(@<port><pin><(H|L|P|I|D|A)>)+ <cr>
L<i2c_addr_hex> <cr>
(S<i2c_addr_hex+rw_bit><data_hex>)+P <cr>
По первому символу можно выбрать вариант:
- "L": установка i2c адреса;
- "S": i2c-запрос;
- "#": установка нового положения серв или калибровка серв;
- "@": работа с цифровыми портами или с АЦП;
- "Q": запрос касающийся положения серв;
- "M": команда двигателям;
- "V": запрос версии;
=DeaD= » 22 мар 2010, 11:14
Для разбора их думаю стоит сделать некое подобие конечного автомата, только не тупо единый автомат из этого городить, а именно подобие.
Основные отличия:
1. Мы будем видеть не только текущий символ, но и следующий.
2. Для чтения из строки шестнадцатеричных и десятичных чисел мы будем использовать "суб-автоматы", которые будем вызывать из главного "автомата".
=DeaD= » 22 мар 2010, 11:15
Т.е. для работы со строкой мы будем использовать:
getCurChar(); - получить текущий символ (возвращает 0х00, если текущий символ неопределен или следующий за ним не определен);
getNxtChar(); - получить следующий символ (возвращает 0х00, если не определен);
goChar(); - перейти на 1 символ вперед;
=DeaD= » 22 мар 2010, 11:20
В этом случае основной автомат может выглядеть как:
- Код: Выделить всё • Развернуть
while(true){
switch(getCurChar()){
0x00:break;
0x0D:goChar(); break;
0x0A:goChar(); break;
'V':getVCmd(); break;
'#':getSharpCmd(); break;
'@':getAtCmd(); break;
'L':getLCmd(); break;
...
default:getErrCmd();
};
};
Michael_K » 22 мар 2010, 18:13
=DeaD= писал(а):Michael_K писал(а):Так это и софтово поддержано?

О чем речь то?
Алексей писал(а):А живые прошивки с реализованным i2c слэйвом уже есть?
=DeaD= писал(а):Я пока не дошел до этого пункта, сейчас вот Vooon'у вышлю OR-duino - может с него попробует порулить OR-AVR-M32-D, а там и до OR-AVR-M128-(D)S недалеко.
То есть не поддержано... Хм...
=DeaD= » 22 мар 2010, 18:16
Если речь про i2c-slave - пока не тестировали, так что правильней будет считать, что пока не поддерживается.
Алексей » 07 апр 2010, 21:11
=DeaD= писал(а):Если речь про i2c-slave - пока не тестировали, так что правильней будет считать, что пока не поддерживается.
Dead. А можете протестить M-128-S? Хотя бы просто протестировать и сказать "Да/Нет".
=DeaD= » 07 апр 2010, 23:06
Давайте в выходные займусь, а то что-то навалилось пока дел...

Алексей » 30 апр 2010, 22:11
Dead. Я понимаю, что Вы заняты другими вещами, но может удастся выкроить чуток времени и протестить i2c?
=DeaD= » 30 апр 2010, 22:14
Скоро модуль OR-AVR-M128-DS придёт к Vooon'у - он как раз хотел разобраться с i2c-slave, да и собственно вроде он его и писал.
blindman » 01 май 2010, 12:57
Писал его его я. Тоже жду OR-AVR-M128-DS, как приедет - буду тестить
=DeaD= » 01 май 2010, 14:56
Упс, ошибся

значит он мне последнее время много про него говорил просто
