roboforum.ru

Технический форум по робототехнике.

Концепция ORFA и немного шире

Правила форума
Правила раздела OpenRobotics

Re: Концепция ORFA и немного шире

=DeaD= » 21 мар 2010, 20:16

Michael_K писал(а):Так это и софтово поддержано? :o

О чем речь то? Обычные i2c-устройства - мастер по запросу через uart раздаёт команды i2c-слейвам и всё.

Re: Концепция ORFA и немного шире

Алексей » 21 мар 2010, 22:06

А живые прошивки с реализованным i2c слэйвом уже есть?

Re: Концепция ORFA и немного шире

=DeaD= » 21 мар 2010, 22:09

Я пока не дошел до этого пункта, сейчас вот Vooon'у вышлю OR-duino - может с него попробует порулить OR-AVR-M32-D, а там и до OR-AVR-M128-(D)S недалеко.

Re: Концепция ORFA и немного шире

=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": запрос версии;

Re: Концепция ORFA и немного шире

=DeaD= » 22 мар 2010, 11:14

Для разбора их думаю стоит сделать некое подобие конечного автомата, только не тупо единый автомат из этого городить, а именно подобие.

Основные отличия:

1. Мы будем видеть не только текущий символ, но и следующий.

2. Для чтения из строки шестнадцатеричных и десятичных чисел мы будем использовать "суб-автоматы", которые будем вызывать из главного "автомата".

Re: Концепция ORFA и немного шире

=DeaD= » 22 мар 2010, 11:15

Т.е. для работы со строкой мы будем использовать:

getCurChar(); - получить текущий символ (возвращает 0х00, если текущий символ неопределен или следующий за ним не определен);
getNxtChar(); - получить следующий символ (возвращает 0х00, если не определен);
goChar(); - перейти на 1 символ вперед;

Re: Концепция ORFA и немного шире

=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();
  };
};

Re: Концепция ORFA и немного шире

Michael_K » 22 мар 2010, 18:13

=DeaD= писал(а):
Michael_K писал(а):Так это и софтово поддержано? :o

О чем речь то?

Алексей писал(а):А живые прошивки с реализованным i2c слэйвом уже есть?
=DeaD= писал(а):Я пока не дошел до этого пункта, сейчас вот Vooon'у вышлю OR-duino - может с него попробует порулить OR-AVR-M32-D, а там и до OR-AVR-M128-(D)S недалеко.


То есть не поддержано... Хм...

Re: Концепция ORFA и немного шире

=DeaD= » 22 мар 2010, 18:16

Если речь про i2c-slave - пока не тестировали, так что правильней будет считать, что пока не поддерживается.

Re: Концепция ORFA и немного шире

Алексей » 07 апр 2010, 21:11

=DeaD= писал(а):Если речь про i2c-slave - пока не тестировали, так что правильней будет считать, что пока не поддерживается.

Dead. А можете протестить M-128-S? Хотя бы просто протестировать и сказать "Да/Нет".

Re: Концепция ORFA и немного шире

=DeaD= » 07 апр 2010, 23:06

Давайте в выходные займусь, а то что-то навалилось пока дел... :(

Re: Концепция ORFA и немного шире

Алексей » 30 апр 2010, 22:11

Dead. Я понимаю, что Вы заняты другими вещами, но может удастся выкроить чуток времени и протестить i2c?

Re: Концепция ORFA и немного шире

=DeaD= » 30 апр 2010, 22:14

Скоро модуль OR-AVR-M128-DS придёт к Vooon'у - он как раз хотел разобраться с i2c-slave, да и собственно вроде он его и писал.

Re: Концепция ORFA и немного шире

blindman » 01 май 2010, 12:57

Писал его его я. Тоже жду OR-AVR-M128-DS, как приедет - буду тестить

Re: Концепция ORFA и немного шире

=DeaD= » 01 май 2010, 14:56

Упс, ошибся :oops: значит он мне последнее время много про него говорил просто :roll:


Rambler\'s Top100 Mail.ru counter