roboforum.ru

Технический форум по робототехнике.
Текущее время: 30 ноя 2024, 09:28

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




Начать новую тему Ответить на тему  [ Сообщений: 443 ]  На страницу Пред.  1 ... 6, 7, 8, 9, 10, 11, 12 ... 30  След.
Автор Сообщение
 Заголовок сообщения: Re: eZ430-Chronos
СообщениеДобавлено: 23 июл 2012, 18:07 
Не в сети

Зарегистрирован: 03 янв 2012, 12:55
Сообщения: 3298
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...
Дим, я что-то запутался, твои корректировки подходят к сборке от Sonny, но не имеют отношение к переписанному коду от Змея? Т.е. либо один вариант, либо другой?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: eZ430-Chronos
СообщениеДобавлено: 23 июл 2012, 18:58 
Не в сети
Аватара пользователя

Зарегистрирован: 13 янв 2011, 15:25
Сообщения: 8033
Откуда: Санкт-Петербург
У змея костыль конкретный, не нужно оно вообще.
Меньше бы такие вставки делали, чтоб народ с пути истинного не сбивать :pardon:

Добавлено спустя 47 минут 30 секунд:
Найден баг: каждый час, секундомер скидывает одну секунду.
Ща исправлю...
Все изменения тут:
forum2/topic10252-105.html#p245262


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: eZ430-Chronos
СообщениеДобавлено: 23 июл 2012, 20:45 
Не в сети

Зарегистрирован: 03 янв 2012, 12:55
Сообщения: 3298
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...
Поправил.
А из этого поста: forum2/topic10252-105.html#p245224 надо править "value"?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: eZ430-Chronos
СообщениеДобавлено: 23 июл 2012, 21:30 
Не в сети
Аватара пользователя

Зарегистрирован: 13 янв 2011, 15:25
Сообщения: 8033
Откуда: Санкт-Петербург
Не, не нужно, все в одном посте...
У меня последняя доработка тестится 2 часа, полет нормальный.
Потесть, плиз, отпишись по sony...
Я тестю так:
Запускаю секундомер по обнулению секунд часов (с маленьким упреждением, чтоб секунды шли синхронно).
По мере хода секундомера, смотрю как разбегаются секунды часов и секундомера. Тестить до остановки секундомера (20 часов).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: eZ430-Chronos
СообщениеДобавлено: 24 июл 2012, 00:11 
Не в сети

Зарегистрирован: 03 янв 2012, 12:55
Сообщения: 3298
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...
Код:
    #define STOPWATCH_100HZ_TICK                    328   //!!! (32768 / 100)

Вообще алгоритм изначально Г, при таком раскладе погрешность хода практически пол секунды. Почему изначально алгоритм не построили на основе пред делители на 8 (если так хочется) - не понятно, хотя я бы делал на максимум (32768).

Добавлено спустя 2 часа 11 минут 4 секунды:
Чудеса, пытаюсь собрать проекты под 433 и 915 - вылазят какие-то ошибки и предупреждения, на 868 собирается без проблем.
На 915 вылазит такое:
Цитата:
Warning[Pe047]: incompatible redefinition of macro "ISM_US" D:\Sports Watch\simpliciti\Components\mrfi\smartrf\CC430\smartrf_CC430.h 109

А на 433:
Цитата:
Error[e104]: Failed to fit all segments into specified ranges. Problem discovered in segment CODE. Unable to place 308 block(s) (0x7606 byte(s) total) in
0x738a byte(s) of memory. The problem occurred while processing the segment placement command "-P(CODE)CODE=8000-FF7F", where at the
moment of placement the available memory ranges were "CODE:8bf6-ff7f"
Error while running Linker

Вот весь проект с корректировками новыми. :oops:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: eZ430-Chronos
СообщениеДобавлено: 24 июл 2012, 02:13 
Не в сети
Аватара пользователя

Зарегистрирован: 13 янв 2011, 15:25
Сообщения: 8033
Откуда: Санкт-Петербург
У меня вообще не запустился иар с твоим проектом, у меня более старый иар: 5.40.3

Перекинул твои исходники в проект со своими настройками, на 433 собрался, на 915 тот же варнинг
Переключил на:
"433MHz - Limited IAR Kickstart (Other regions)"
"915MHz - Limited IAR Kickstart (USA)"
Все собралось. :pardon:

На 433, он тебе намекает, что мало памяти.

Добавлено спустя 26 минут 30 секунд:
И закомментируй в "main.c": test_mode();
нахнужен? отьедает 2 кб.
А блюробин отьедает 5 кб. У тебя есть/будет напульсник? :roll:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: eZ430-Chronos
СообщениеДобавлено: 24 июл 2012, 10:39 
Не в сети

Зарегистрирован: 03 янв 2012, 12:55
Сообщения: 3298
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...
У меня "Limited IAR Kickstart" не один не собирается, только "Unrestricted IAR Workbench"-и.

Версия иар у меня последняя.

Тест - да, нужно комментировать, спасибо.

А вот с блюробином вопрос, передача обновления прошивки разве не через него идет? Если нет, то датчиков всяких у меня нет (напульсников), но терять возможность передачи данных с часов на компьютер - не хотелось (аксель, синхронизацию настроек..).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: eZ430-Chronos
СообщениеДобавлено: 24 июл 2012, 12:39 
Не в сети
Аватара пользователя

Зарегистрирован: 13 янв 2011, 15:25
Сообщения: 8033
Откуда: Санкт-Петербург
Блюробин только для напульсника:
http://www.bm-innovations.com/index.php/ez430-chronos
Для передачи данных с часов на компьютер - simpliciti
Я же не садист :x

Секундомер тестится 18 часов, полет нормальный.
Закончу тест, загружу твой SportsWatch_FriendPatch...

Обновил первый пост, ссылки


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: eZ430-Chronos
СообщениеДобавлено: 24 июл 2012, 13:03 
Не в сети

Зарегистрирован: 03 янв 2012, 12:55
Сообщения: 3298
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...
Я вчера секундомер раз 5 догонял до смены долей секунд (переключался режим точности отображения), на время это никак не влияло.

Добавлено спустя 3 минуты 5 секунд:
Пока не загружай, надо же ещё закомментить тест и блюробин. ;) Вечером сделаю или сам тогда поправь, если возможность имеется.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: eZ430-Chronos
СообщениеДобавлено: 24 июл 2012, 23:43 
Не в сети

Зарегистрирован: 03 янв 2012, 12:55
Сообщения: 3298
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...
Так, решил пере собрать проект под меньшую IAR v5.40.1.50328 (более доступную версию).
Поменял казалось бы версию на более старую, а файл прошивки на выходе я получил меньше по размеру на 251 байт. :)
Закомментировал "тест", выиграл в версии на 868 МГц - 5138 байт. Стала нормально собираться версия на 433МГц, но прошивка под неё значительно больше по объёму (чем под 868) - 95244 байт (против 87545 байт).
Блюробин отключать не стал, т.к. это довольно сложный процесс, он прописан много где.
Под 915МГц проект так и не собирается, ругается на динамическое объявление линкера, причем эта ошибка возникает тогда, когда на одну и туже переменную несколько объявлений, пропахал весь проект - нет никаких пересечений и относительно прочих частот/профилей переключений, отличий нет. В общем так и не понял в чем глюк. Инет по этому поводу - молчит.

Добавлено спустя 25 минут 43 секунды:
Всё, разобрался в чем проблема была (как всегда в простом), 915 собрался:
- проект;
- прошивки на все частоты.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: eZ430-Chronos
СообщениеДобавлено: 25 июл 2012, 02:28 
Не в сети
Аватара пользователя

Зарегистрирован: 13 янв 2011, 15:25
Сообщения: 8033
Откуда: Санкт-Петербург
Madf писал(а):
Закомментировал "тест", выиграл в версии на 868 МГц - 5138 байт.

В часах всего 32 кб. памяти, это размер текстового файла
Размер прошивки смотри в "окно проекта/ez430_chronos_868MHz.map"
В конце файла:
Код:
27 080 bytes of CODE  memory
    844 bytes of DATA  memory (+ 157 absolute )
  1 592 bytes of CONST memory

Errors: none
Warnings: none


Madf писал(а):
Блюробин отключать не стал, т.к. это довольно сложный процесс, он прописан много где.

В "menu.c" убери все в:"// Line2 - Calories/Distance"
или так:
Код:
В удобном месте, например "project.h": #define no_bluerobin

В "menu.c":
// Line2 - SXNC (synchronization/data download via SimpliciTI)
const struct menu menu_L2_Sync = {
    FUNCTION(sx_sync),                // direct function
    FUNCTION(dummy),                  // sub menu function
    FUNCTION(display_sync),           // display function
    FUNCTION(update_time),            // new display data
#ifndef no_bluerobin
    &menu_L2_CalDist,
#else
    &menu_L2_RFBSL,
#endif
};

#ifndef no_bluerobin
// Line2 - Calories/Distance
const struct menu menu_L2_CalDist = {
    FUNCTION(sx_caldist),             // direct function
    FUNCTION(mx_caldist),             // sub menu function
    FUNCTION(display_caldist),        // display function
    FUNCTION(update_time),            // new display data
    &menu_L2_RFBSL,
};
#endif


Этот способ конфигурации плотно используют в OpenChronos, ссылка в первом посте
Я дотестил секундомер (20 часов), все ок.
Твою тестил, секунды убегали, может меня глючило, ща еще раз проверю...

Добавлено спустя 10 минут 42 секунды:
Блин, пока портировал управлялку лампой, не заметил, что там rfbsl старый :shock:
Вот тля, опять разбирать часы. :cry: :cry: :cry:

Добавлено спустя 49 минут 40 секунд:
Залил твою версию, есть ошибка.
Блин, я забыл, что очень сильно поменял свои исходники. Я все перевел с ASCII обработки на байтовое.

У меня проверка 20-ти минут так:
Код:
if (sStopwatch.time[2] == 0x20)


у тебя так:
Код:
if (sStopwatch.time[2] == '2')


Вот моя структура секундомера:
Код:
    u8 time[4];
    // time[0]      1/10 sec, 1/100 sec
    // time[1]      second H, L
    // time[2]      minute H, L
    // time[3]      hour H,L


Твоя:
Код:
    u8 time[8];
    // time[0]      hour H
    // time[1]      hour L
    // time[2]      minute H
    // time[3]      minute L
    // time[4]      second H
    // time[5]      second L
    // time[6]      1/10 sec
    // time[7]      1/100 sec

Соответственно тебе надо не "sStopwatch.time[1]--; //!!!"
а: sStopwatch.time[5]--; //!!!
И, о ужас, в ASCII "0" и "9" = 0x30 и 0х39 соответственно.

А вообще, я говорил, что штатная прошивка - унылое гамно? :)
Обработка данных в ASCII коде, где даже это выводить некуда (семисегментный индикатор)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: eZ430-Chronos
СообщениеДобавлено: 25 июл 2012, 10:19 
Не в сети

Зарегистрирован: 03 янв 2012, 12:55
Сообщения: 3298
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...
Dmitry__ писал(а):
В часах всего 32 кб. памяти, это размер текстового файла
Размер прошивки смотри в "окно проекта/ez430_chronos_868MHz.map"
В конце файла:
Код:
27 080 bytes of CODE  memory
    844 bytes of DATA  memory (+ 157 absolute )
  1 592 bytes of CONST memory

Errors: none
Warnings: none

Понял.


Dmitry__ писал(а):
В "menu.c" убери все в:"// Line2 - Calories/Distance"
или так:
Код:
В удобном месте, например "project.h": #define no_bluerobin

В "menu.c":
// Line2 - SXNC (synchronization/data download via SimpliciTI)
const struct menu menu_L2_Sync = {
    FUNCTION(sx_sync),                // direct function
    FUNCTION(dummy),                  // sub menu function
    FUNCTION(display_sync),           // display function
    FUNCTION(update_time),            // new display data
#ifndef no_bluerobin
    &menu_L2_CalDist,
#else
    &menu_L2_RFBSL,
#endif
};

#ifndef no_bluerobin
// Line2 - Calories/Distance
const struct menu menu_L2_CalDist = {
    FUNCTION(sx_caldist),             // direct function
    FUNCTION(mx_caldist),             // sub menu function
    FUNCTION(display_caldist),        // display function
    FUNCTION(update_time),            // new display data
    &menu_L2_RFBSL,
};
#endif


Этот способ конфигурации плотно используют в OpenChronos, ссылка в первом посте

Сходу больше симпатичен второй вариант. ;)

Dmitry__ писал(а):
Я дотестил секундомер (20 часов), все ок.
Твою тестил, секунды убегали, может меня глючило, ща еще раз проверю...

Мне что-то тоже показалось, что часы отставали, но не убегали, видимо под ночь тоже показалось.

Dmitry__ писал(а):
Добавлено спустя 10 минут 42 секунды:
Блин, пока портировал управлялку лампой, не заметил, что там rfbsl старый :shock:
Вот тля, опять разбирать часы. :cry: :cry: :cry:

Что значит старый? Чем он плох и где взять (и нужно ли брать) новый?

Dmitry__ писал(а):
Добавлено спустя 49 минут 40 секунд:
Залил твою версию, есть ошибка.
Блин, я забыл, что очень сильно поменял свои исходники. Я все перевел с ASCII обработки на байтовое.

Где ошибка?

Dmitry__ писал(а):
У меня проверка 20-ти минут так:
Код:
if (sStopwatch.time[2] == 0x20)


у тебя так:
Код:
if (sStopwatch.time[2] == '2')


Вот моя структура секундомера:
Код:
    u8 time[4];
    // time[0]      1/10 sec, 1/100 sec
    // time[1]      second H, L
    // time[2]      minute H, L
    // time[3]      hour H,L


Твоя:
Код:
    u8 time[8];
    // time[0]      hour H
    // time[1]      hour L
    // time[2]      minute H
    // time[3]      minute L
    // time[4]      second H
    // time[5]      second L
    // time[6]      1/10 sec
    // time[7]      1/100 sec

Соответственно тебе надо не "sStopwatch.time[1]--; //!!!"
а: sStopwatch.time[5]--; //!!!
И, о ужас, в ASCII "0" и "9" = 0x30 и 0х39 соответственно.

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

Dmitry__ писал(а):
А вообще, я говорил, что штатная прошивка - унылое гамно? :)

Говорил. :D Я чот не в восторге вообще от общей концепции программных продуктов от Ти (всё бесит, видимо на этом надо просто вырасти).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: eZ430-Chronos
СообщениеДобавлено: 25 июл 2012, 14:36 
Не в сети
Аватара пользователя

Зарегистрирован: 13 янв 2011, 15:25
Сообщения: 8033
Откуда: Санкт-Петербург
Madf писал(а):
Ну с этим я вообще не знаю что делать, серъёзно переписывать всё не хочется и как ты раньше говорил, что против глобальных изменений.

Дык, весь допил:
Цитата:
Соответственно тебе надо не "sStopwatch.time[1]--; //!!!"
а: sStopwatch.time[5]--; //!!!

Я вчера поправил это в твоей версии, тестю 12 часов, все ок.
Madf писал(а):
Что значит старый? Чем он плох и где взять (и нужно ли брать) новый?

Не, ни чего не надо, это я свои часы брикнул, вот и плакался.
Сейчас решил двигать дальше проект с часами (ты возбудил) :)
На базе исходников:
http://blog.chschmid.com/?page_id=193
Сделать управление дешевыми модулями rfm01, rfm12, rfm23


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: eZ430-Chronos
СообщениеДобавлено: 25 июл 2012, 15:25 
Не в сети

Зарегистрирован: 03 янв 2012, 12:55
Сообщения: 3298
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...
Dmitry__ писал(а):
Дык, весь допил:
Цитата:
Соответственно тебе надо не "sStopwatch.time[1]--; //!!!"
а: sStopwatch.time[5]--; //!!!

Я вчера поправил это в твоей версии, тестю 12 часов, все ок.

Спасибо, вечером гляну, "допилю".

Dmitry__ писал(а):
Не, ни чего не надо, это я свои часы брикнул, вот и плакался.
Сейчас решил двигать дальше проект с часами (ты возбудил) :)
На базе исходников:
http://blog.chschmid.com/?page_id=193
Сделать управление дешевыми модулями rfm01, rfm12, rfm23

Видимо время пришло. ;)
Известный проект, интересный, я под это дело приобрел себе модулёк RFM22B-868-D, т.к. Ти-шные модули всё как-то через одно место (либо большие по габаритам, либо непонятно как использовать).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: eZ430-Chronos
СообщениеДобавлено: 25 июл 2012, 23:33 
Не в сети

Зарегистрирован: 03 янв 2012, 12:55
Сообщения: 3298
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...
Поправил я в стопвотче:
Код:
                    if (sStopwatch.time[2] == '2')
                    {
                        // SWT display changes from MM:SS:hh to HH:MM:SS when reaching 20 minutes
                        if (sStopwatch.viewStyle == DISPLAY_DEFAULT_VIEW)
                        {
                          sStopwatch.time[5]--; //!!!
                        }
                        sStopwatch.viewStyle = DISPLAY_ALTERNATIVE_VIEW;
                        //!!! display_stopwatch(LINE2, DISPLAY_LINE_UPDATE_FULL);

                    }

sStopwatch.time[5]--; //!!!

Надеюсь правильно, не промахнулся. ;)

Добавлено спустя 9 минут 38 секунд:
На счет "bluerobin": разве условие не на оборот должно быть?
&menu_L2_CalDist - напульсник
&menu_L2_RFBSL - обновление по воздуху прошивки
там же выходит, что при активации условия отключения "bluerobin", отключается обновление по вздуху, а при включении его - отваливании напульсника? не?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 443 ]  На страницу Пред.  1 ... 6, 7, 8, 9, 10, 11, 12 ... 30  След.

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


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

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


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

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