Jump to content

    

Axel

Свой
  • Content Count

    539
  • Joined

  • Last visited

Community Reputation

0 Обычный

About Axel

  • Rank
    Знающий

Контакты

  • ICQ
    Array

Recent Profile Visitors

3010 profile views
  1. Это разнэ весовые категории: 3UG4581-1АW30 - готовое устройство, а SIM100 - чип(SIM100IC) и модуль(SIM100MOD) Про чип пока не знаю, а модуль (чип с незначительной обвеской) - $299 @1k. А в доке на 3UG4581-1АW30 есть описание принципов работы? Буду весьма признателен за ссылку или файл...
  2. "Sendyne SIM100 Isolation monitor". Кто-нибудь знает, как это работает? Если да - поделитесь сокровенным: уж больно круто оно стОит.
  3. Уважаемые коллеги, существует ли реальная возможность реализовать поддержку PLC протокола по стандарту ISO15118 на микроконтроллере без Линукса? В качестве модема применяется Qualcomm QCA7005. За ссылки на исходники - особая признательность.
  4. Доброго времени суток! Коллеги, подскажите пожалуйста, требуется ли наличие сертификата безопасности (по стандарту IEC 61508 или его производным) для Linux, используемого в автомобильных зарядных станциях?
  5. Например так (при использовании placement new): static CFooA * Instance() { CFooA *ret_val = 0; if(CClassFooId::FooInstance) { if(sem_polling(&CClassFooId::UseCounter) != SEM_NOT_IN_USE) { if(CClassFooId::FooInstance->GetClassId() != FOO_A_CLASS_ID) { CClassFooId::FooInstance = 0; } } else { ret_val = INST_CREATE_ERR; } } if(!ret_val) { if(!CClassFooId::FooInstance) { mutex_lock(&InstMutex, WAIT_INFINITE); if(!CClassFooId::FooInstance) { CClassFooId::FooInstance = (CClassFooId *)new ((void *)FooMemPool) CFooA(); } mutex_unlock(&InstMutex); } ret_val = (CFooA *)CClassFooId::FooInstance; } else { ret_val = 0; } return ret_val; } static CClassFooId *ClearInatance() { if(sem_polling(&CClassFooId::UseCounter) == SEM_NOT_IN_USE) { CClassFooId::FooInstance = 0; } return CClassFooId::FooInstance; }
  6. Прошу прощения за неполную формулировку - конечно же объекты удаляются. " в долговременной перспективе" никакого негатива не отмечено. "есть решения лучше" - приму совет с благодарностью. PS: Если объекты альтернативны, то для них, как правило, возможно определение общего интерфейса. И Instance именно этого интерфейса используется для обращения к синглтону. И кстати placement new для таких ситуаций в мелкоформатных embedded приложениях - один из гарантов спокойной жизни.
  7. В единственном экземпляре - да, в течение всего runtime - никакими стандартами не требуется. UART и SPI - как пример ситуации (логи направляются либо в терминал, либо на карточку). "Редко" - бОльшую часть времени не используются, поэтому, для экономии памяти, создаются по мере необжодимости. "Асинхронно" - необходимость в доступе может возникнуть в любой момент, в том числе у нескольких задач одновременно. "почему это нельзя сделать без сигнлтона" - можно, но синглтон здесь вполне в тему (в меру моего понимания этой сущности). "вообще непонятно" - надеюсь, теперь в меньшей степени...
  8. ...с вполне реальным практическим аспектом. Например при наличии двух интерфейсов, UART и SPI, используемых "редко", альтернативно и асинхронно несколькими задачами. Возможно не для жесткого реалтайма, но во многих случаях работает (для надежности вкупе с "placement new").
  9. extern переменная типа класса и/или указателя на класс/структуру в хедере этого же класса - обычный прием, так что без проблем...
  10. Я вообще-то никого не уговариваю этим пользоваться, и сам избегаю, но "если звезды зажигают - значит - это кому-нибудь нужно?" (CR)
  11. Поскольку ТС заботит крайне небольшой расход энергии BLE, я предположил, что "сенсор" - небольшое и недорогое устройство с ограниченными ресурсами. Если мое предположение верно, то в этой ситуации никакм дизайном надежную защиту не выдуришь и настоящий коннект был бы совсем нелишним. Кстати, в некоторых серьезных фирмах (напр. американская HERSHEY'S) именно поэтому Wireless сенсорика запрещена в принципе (по крайнеймере так было лет шесть тому назад).