roboforum.ru

Технический форум по робототехнике.
Текущее время: 16 май 2025, 14:33

Часовой пояс: UTC + 4 часа


Правила форума


Правила раздела OpenRobotics



Начать новую тему Ответить на тему  [ Сообщений: 497 ]  На страницу Пред.  1 ... 16, 17, 18, 19, 20, 21, 22 ... 34  След.
Автор Сообщение
 Заголовок сообщения: Re: Обсуждение реализации шлюз-контроллера [ORFA]
СообщениеДобавлено: 17 июн 2009, 21:40 
Не в сети
Аватара пользователя

Зарегистрирован: 29 апр 2008, 21:15
Сообщения: 4130
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич
Он хочет вот такого, если я правильно понял:

Код:
#define A(x) #define B(x)

_________________
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение реализации шлюз-контроллера [ORFA]
СообщениеДобавлено: 17 июн 2009, 21:44 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
ненене :)

Я хочу

#define F(x) (x+x*x+1)
#define G(x) (F(x)+F(x)*F(x)+1)

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение реализации шлюз-контроллера [ORFA]
СообщениеДобавлено: 17 июн 2009, 21:48 
Не в сети
Аватара пользователя

Зарегистрирован: 29 апр 2008, 21:15
Сообщения: 4130
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич
Так - да, без проблем. Только это не вложенный #define

_________________
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение реализации шлюз-контроллера [ORFA]
СообщениеДобавлено: 17 июн 2009, 21:52 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Оговорился :pardon:

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение реализации шлюз-контроллера [ORFA]
СообщениеДобавлено: 17 июн 2009, 21:55 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 09 фев 2006, 15:36
Сообщения: 3339
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков
blindman писал(а):
Код:
#define A(x) #define B(x)


А это разве не одно и тоже что и

Код:
#define A(x) B(x)

?

Добавлено спустя 2 минуты 1 секунду:
Хотя...

Код:
#define A(x) #define B(y) x*y


Хотя имхо это слишком :) не лисп же :)

_________________
Linux user | Firefox user


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение реализации шлюз-контроллера [ORFA]
СообщениеДобавлено: 17 июн 2009, 22:00 
Не в сети
Аватара пользователя

Зарегистрирован: 29 апр 2008, 21:15
Сообщения: 4130
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич
Я неудачный пример привел. Но я вложенный #define именно так понял - #define , у которого в теле еще один

Добавлено спустя 3 минуты 47 секунд:
Да-да, типа такого иногда хочется :)

_________________
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение реализации шлюз-контроллера [ORFA]
СообщениеДобавлено: 17 июн 2009, 22:06 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
А можно в дефайне к 1 слову второе вплотную приписать, типа:

#define F(x) (1{x}2)

чтобы F(4) было (142) ?

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение реализации шлюз-контроллера [ORFA]
СообщениеДобавлено: 17 июн 2009, 22:12 
Не в сети
Аватара пользователя

Зарегистрирован: 29 апр 2008, 21:15
Сообщения: 4130
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич
Код:
// test.c
#define F(x) (1 ##x## 2)
int a = F(4);


Код:
andrey@laptop:~$ gcc -E test.c
# 1 "test.c"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "test.c"

int a = (142);
andrey@laptop:~$

_________________
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение реализации шлюз-контроллера [ORFA]
СообщениеДобавлено: 17 июн 2009, 22:14 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 09 фев 2006, 15:36
Сообщения: 3339
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков
Так вроде:

Код:
vovan@vovan-laptop:/tmp$ cat test2.c
// concat test

#include <stdio.h>

#define FUN(x) (1##x##2)

int v=0;

int main()
{

        printf("v=%i\n", v);

        v = FUN(0);

        printf("v=%i\n", v);

        v = FUN(2);

        printf("v=%i\n", v);

        return 0;
}
vovan@vovan-laptop:/tmp$ gcc test2.c
vovan@vovan-laptop:/tmp$ ./a.out
v=0
v=102
v=122
vovan@vovan-laptop:/tmp$


(Ей богу консоль это вещь!!!)

_________________
Linux user | Firefox user


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение реализации шлюз-контроллера [ORFA]
СообщениеДобавлено: 17 июн 2009, 22:15 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Ну ежели и такое есть, тогда я завтра накидаю попробую, что имею в виду по прошивке :)

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение реализации шлюз-контроллера [ORFA]
СообщениеДобавлено: 20 июн 2009, 00:09 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Движемся дальше.

Вот как-то так получается пока:
Код:
uint8_t pause0[32];
uint8_t pause1[32];
uint8_t mask0[32];
uint8_t mask1[32];
uint8_t iterator;

#define portHandlerAND(name, port, nextHandler, id) \
void name(void)\
{\
   port &= mask0[id]; \
   OCR2 += pause0[id]; \
   handler = nextHandler; \
}

#define portHandlerOR(name, port, nextHandler, id) \
void name(void)\
{\
   port |= mask0[id]; \
   OCR2 += pause0[id]; \
   for(iterator=0; iterator<pause1[id]; iterator++){
     delay_us(1);
   };
   port |= mask1[id]; \
   handler = nextHandler; \
}

#define portHandlers(process, port, nextProcess, id) \
portHandlerOR(##process##3, port, ##nextProcess##0, (id+3))\
portHandlerOR(##process##2, port, ##process##3, (id+2))\
portHandlerOR(##process##1, port, ##process##2, (id+1))\
portHandlerAND(##process##0, port, ##process##1, (id))\

void processD0(void);

portHandlers(processAa, PORTA, processD, 0)
portHandlers(processAb, PORTA, processAa, 4)
portHandlers(processAc, PORTA, processAb, 8)
portHandlers(processAd, PORTA, processAc, 12)
portHandlers(processCa, PORTC, processAd, 16)
portHandlers(processCb, PORTC, processCa, 20)
portHandlers(processB, PORTB, processCb, 24)
portHandlers(processD, PORTD, processB, 28)

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Хексапод - как минимизировать - собираем идеи :)
СообщениеДобавлено: 21 июн 2009, 18:00 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 09 фев 2006, 15:36
Сообщения: 3339
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков
Добавил сохранение/загрузку положений в EEPROM для servo4017.
Но не тестировал.

В нулевой регистр драйвера записывается флаг загружать или нет положения:
Запись 1 сохраняет положения на момент получения комманды;
Запись 0-я только сбрасывает флаг.

Т.е. устанавливаем положения серв, а потом даем команду их запомнить.

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

Дописать правила сборки для получения .eep файла.

_________________
Linux user | Firefox user


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение реализации шлюз-контроллера [ORFA]
СообщениеДобавлено: 21 июн 2009, 18:03 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
2Vooon: Она по умолчанию отключена? Наверное лучше пока ничего не менять. В любом случае мне кажется правильным сначала не выдавать никаких управляющих сигналов на сервы, только по определенной команде. Запись в EEPROM наверное не лучший выход в данной ситуации.

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение реализации шлюз-контроллера [ORFA]
СообщениеДобавлено: 21 июн 2009, 18:09 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 09 фев 2006, 15:36
Сообщения: 3339
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков
Да отключена, в эпроме флаг должен равняться 0, чтобы включить загрузку.
Отключать генерацию сигналов на сервы сложнее.

_________________
Linux user | Firefox user


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение реализации шлюз-контроллера [ORFA]
СообщениеДобавлено: 21 июн 2009, 18:30 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Надо blindman'а подождать, может он знает как это просто сделать.

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 497 ]  На страницу Пред.  1 ... 16, 17, 18, 19, 20, 21, 22 ... 34  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO