www.open-tager.ru

открытый лазертаг форум
Текущее время: 24 апр 2024, 10:56

Часовой пояс: UTC + 3 часа [ Летнее время ]


Реклама

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


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



Начать новую тему Ответить на тему  [ Сообщений: 1076 ]  На страницу Пред.  1 ... 72, 73, 74, 75, 76, 77, 78 ... 108  След.
Автор Сообщение
 Заголовок сообщения: Re: Система Caustic
СообщениеДобавлено: 07 июн 2016, 21:55 
Не в сети
Старожил

Зарегистрирован: 18 мар 2015, 13:19
Сообщений: 574
Откуда: Нижний Новгород
Я тут потратился на TSOPы, заказал 100 штук в Элитане. С доставкой обошлось примерно в 28 р/шт.
Вот так выглядит рейка на 90 тсопов:
Вложение:
tsops.JPG
tsops.JPG [ 70.23 KiB | Просмотров: 7084 ]


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Система Caustic
СообщениеДобавлено: 07 июн 2016, 22:14 
Не в сети
Аксакал форума
Аватар пользователя

Зарегистрирован: 27 ноя 2011, 00:22
Сообщений: 1569
Откуда: Україна
Alexies писал(а):
Я тут потратился на TSOPы, заказал 100 штук в Элитане. С доставкой обошлось примерно в 28 р/шт.
Вот так выглядит рейка на 90 тсопов:
Вложение:
tsops.JPG

Ого :)
Готовитесь к серийному производству?

_________________
Нет предела совершенству, но ресурсы заканчиваются быстро.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Система Caustic
СообщениеДобавлено: 07 июн 2016, 23:49 
Не в сети
Старожил

Зарегистрирован: 18 мар 2015, 13:19
Сообщений: 574
Откуда: Нижний Новгород
Pacifist писал(а):
Ого :)
Готовитесь к серийному производству?


Почти) Хочу сделать комплектов 10, чтобы можно было играть целиком на моей системе. Тогда будет иметь смысл статистика и управление игрой с телефона


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Система Caustic
СообщениеДобавлено: 08 июн 2016, 00:45 
Не в сети
Аксакал форума

Зарегистрирован: 29 авг 2011, 11:08
Сообщений: 1849
Alexies писал(а):
Я тут потратился на TSOPы, заказал 100 штук в Элитане. С доставкой обошлось примерно в 28 р/ш

Почему не сразу из китая ? Цена получилась бы в два раза меньше

_________________
"За 2 месяца максимум можно чертёж сделать, еще за 3 фундамент." (c) Номернабис


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Система Caustic
СообщениеДобавлено: 08 июн 2016, 06:14 
Не в сети
Аксакал форума
Аватар пользователя

Зарегистрирован: 12 авг 2011, 16:55
Сообщений: 7514
Откуда: Барнаул, Алтайский край (не путать с республикой Алтай) :-)
Немного научившись пользоваться скритами линкера хочу сделать следующее - создать бинарную разделяемую библиотеку, некий аналог dll
То есть, пишем функции, а в специальной секции в определённой последовательности создаём массив с указателями на эти функции.
Компилируем, бинарик прошиваем.
Но мы теперь знаем, по какому адресу лежит массив с указателями на функции, и в какой последовательности идут функции!
Теперь в основной прошивке (бутлоадере) просто нужно подключить заголовочный файл с описанием функций, а точнее - с указателями, типизованными для наших функций.

Какие плюсы?
Ну эти функции будут доступны и из бутлоадера, и из основной прошивки (не будут дублироваться - экономия флеша)!
Например - драйвера для экранчика, воспроизведения звука...

Второй жирный плюс - не важно, как написаны функции, с использованием HAL или библиотек STM - в чем удобно, в том и пиши!

Ну и как плюсик - можно от пользователя "спрятать" низкоуровневую работу с железом, не забивая ему голову, оставив в исходниках только игровую логику и API для работы с железом - функции воспроизведения звуков, вывода на экран текста и картинок.

И напоследок - можно будет просто менять эти библиотеки (драйвера) не трогая основную прошивку.
Вместо черно-белого экранчика подключил цветной и просто заменил драйвер!


Ну и совсем будет хорошо - если мы договоримся и стандартизируем эти функции (API) для наших прошивок.
Прям нирвана... :lol:

Подумайте... ;) 8-)

Я, в принципе - знаю, как это сделать.
Осталось это сделать грамотно...

_________________
Ваше оружие становиться значительно эффективней, если его снять с предохранителя!


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Система Caustic
СообщениеДобавлено: 08 июн 2016, 11:20 
Не в сети
Новосел

Зарегистрирован: 10 авг 2015, 13:46
Сообщений: 60
Лучше не по хардкорным адресам, а таблицу векторов, по аналогии с прерываниями. Кроме того, у проца есть специальная инструкция (SVC), которая позволяет передать управление в ОС без использования абсолютных адресов. А помудрив немного с ассемблерными инструкциями - сделать кросс-вызов на реализацию из прокси-функции без модификации точки возврата в LR, можно сделать красивый API без использования указателей на функции. Но настоящей "нирваны", с раздельными стеками и привилегированными режимами вам не достичь, пока не соскочите с RTOS )))


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Система Caustic
СообщениеДобавлено: 08 июн 2016, 12:09 
Не в сети
Старожил

Зарегистрирован: 18 мар 2015, 13:19
Сообщений: 574
Откуда: Нижний Новгород
2Pingvin, 2opengrey

Нененене! Никаких массивов с указателями и других велосипедов! Есть C++, виртуальные функции. Есть vtable у полиморфных объектов. Во все времена это делали так: в хедере определен интерфейс (полностью абстрактный класс с нужными функциями), где-то в другом месте есть его реализация (наследник, который определяет методы). И где-то есть фабрика, или фабричный метод, который по запросу порождает экземпляр наследника.

https://ru.wikipedia.org/wiki/%D0%98%D0 ... 8%D1%8F%29

https://ru.wikipedia.org/wiki/%D0%90%D0 ... 8%D1%8F%29

Я делал почти так, как вы пишете, но на C++. Сначала я хотел использовать stm32f100cbt6, но потом понял, что мало. У меня вся логика была в статической библиотеке, а вся работа с железом - через свой собственный HAL. Когда я переходил с одного чипа на другой, некоторое время прошивка собиралась под оба. Но потом я решил, что это всё не нужно в силу ряда причин, и собираю теперь единый бинарник.
Причины такие:
  • Растёт размер. Очень сильно! Раза в два. Заранее неизвестно, какие функции понадобятся, и линкуются все доступные из всех библиотек
  • Разные контроллеры дают экономию в 100-200р на более простом девайсе, зато требуют разработки и отладки кучи новых плат
  • Оборачивать классами-обертками приходится вообще все компоненты системы, хотя для многих вещей этого можно было бы избежать
  • Положение RTOS неочевидно. В какой части прошивки ей лучше быть.
  • Потеря совместимости с кодом, который генерирует cube
  • Это просто лазертаг. А если вдруг понадобится решать существенно более сложные задачи, нужен полноценный компьютер (малинка или телефон с Android-ом), и тонкий фронт-энд к нему на слабом контроллере. Разработка будет проще и дешевле

Также, моё мнение, что обновлять отдельные части прошивки - не нужно ни в какой ситуации. Проще написать "коструктор прошивок" для PC, и линковать прошивку на компе. Как минимум, потому, что ошибки при статической линковке отловить элементарно, а в рантайме - крайне затруднительно. А с точки зрения пользователя один фиг перепрошивать.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Система Caustic
СообщениеДобавлено: 08 июн 2016, 12:13 
Не в сети
Аксакал форума
Аватар пользователя

Зарегистрирован: 12 авг 2011, 16:55
Сообщений: 7514
Откуда: Барнаул, Алтайский край (не путать с республикой Алтай) :-)
Ну что же - жаль. :?
Я все же попробую.
Мне кажется - Вы меня не совсем правильно поняли.

Как будет размер расти, если нужные функции собраны один раз а вызываем их мы и из прошивки, и из бутлоадера?
Их функций то всего - с десяток!
Но могут быть "тяжёлыми" для дублирования и в бутлоадере и в прошивке.


Шрифты, картинки...

Картинка на весь экранчик (герб России) - 34Кб, к примеру.
Не... с SD карты можно выводить картинки, но они медленнее грузятся, для бьющегося сердечка (теперь это будет "фича" Армады) - скорость низка, только DMA и флеш!

FreeRTOS - конечно в основной прошивке!

Речь скорее о "драйверах".

Уже пробую


Код:
MEMORY
{
  RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 64K
  CCMRAM (xrw) : ORIGIN = 0x00000000, LENGTH = 0
  FLASH (rx)   : ORIGIN = 0x08069800, LENGTH = 44K
  FUNC_ARR  (rx)   : ORIGIN = 0x08069000, LENGTH = 2K
  INTERRUPTS_STUB (rx) : ORIGIN = 0x8000000, LENGTH = 4K
   MEMORY_ARRAY (xrw)  : ORIGIN = 0x00000000, LENGTH = 0
}




Код:
SECTIONS
{
    /*
     * For Cortex-M devices, the beginning of the startup code is stored in
     * the .isr_vector section, which goes to FLASH
     */

 .isr_vector_stub :
  {
    . = ALIGN(4);
    _isr_stub = .;
    KEEP(*(.isr_vector_stub))
    . = ALIGN(4);
  } >INTERRUPTS_STUB

 .func_pointer_arr :
 {
     . = ALIGN(4);
    _func_p_arr = .;
    KEEP(*(.func_pointer_arr))
    . = ALIGN(4);
 } > FUNC_ARR

Код:

#include <stdio.h>

typedef void
(* const pFunc)(void);

extern int summ(int, int);
extern int multiplication(int, int);

__attribute__ ((section(" .func_pointer_arr"),used))
pFunc func_pointers_array[] =
{
      pFunc(summ),
      pFunc(multiplication),
      pFunc(0x0),
      pFunc(0x0)
};



Код:
#include <stdio.h>


int  summ(int x, int y){
   return (x+y);
}

int multiplication(int x, int y){
   return (x*y);
}



Правильно?

_________________
Ваше оружие становиться значительно эффективней, если его снять с предохранителя!


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Система Caustic
СообщениеДобавлено: 08 июн 2016, 13:12 
Не в сети
Старожил

Зарегистрирован: 18 мар 2015, 13:19
Сообщений: 574
Откуда: Нижний Новгород
LTagKirov писал(а):
Alexies писал(а):
Я тут потратился на TSOPы, заказал 100 штук в Элитане. С доставкой обошлось примерно в 28 р/ш

Почему не сразу из китая ? Цена получилась бы в два раза меньше


Не посоветуете таких китайцев? Я не нашел. Обычно на Ebay и Ali тсопы очень дорогие.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Система Caustic
СообщениеДобавлено: 08 июн 2016, 13:59 
Не в сети
Аксакал форума
Аватар пользователя

Зарегистрирован: 07 апр 2011, 18:05
Сообщений: 3669
На али партия сразу 100шт стоит с доставкой 1700р


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 1076 ]  На страницу Пред.  1 ... 72, 73, 74, 75, 76, 77, 78 ... 108  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на форуме

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


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

Найти:
Перейти:  
cron
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB