Jump to content

    

Grigorij

Участник*
  • Content Count

    120
  • Joined

  • Last visited

Community Reputation

0 Обычный

About Grigorij

  • Rank
    Частый гость

Recent Profile Visitors

2365 profile views
  1. Вы при вызове ppp_set_auth() задаете имя пользователя и пароль для авторизации. Они корректные для MTC, а вот корректный ли APN Host name задан с помощью AT+CGDCONT? Какая у вас последовательность AT-команд до запуска LWIP? Ну и выше уже предложили проверить, все ли данные от модема в LWIP пересылаются.
  2. Вполне возможно. Я порылся в своих платах и нашел файлы, которые в 16-ом или 17-ом были сделаны. В них нет информации об Altium, а начало файла выглядит точно так же, как на вашем примере. В версии 18.1.7 build 191 уже есть информация об Altium в Gerber-файлах. 19-ый Altium я не использовал, ну а пример из 20-го я уже приводил. Во всех случаях я Altium ставил "на чистую" без импорта предыдущих настроек. Так что очень похоже на какое-то нововведение (либо есть какая-то дефолтная настройка по добавлению этой информации, которую я найти не могу пока).
  3. Пример, который я приводил, из Gerber-файла для слоя Bottom (там же в примере есть и описание, какая версия Altium-а это делает "по умолчанию"). Да и для других слоев тоже есть эта информация в самом начале файла. Все файлы при этом сгенерированы через Output Job. Если же сделать экспорт Gerber-файлов из встроенного CAM Editor, то в настройка экспорта для CAM Editor-а можно указать "Suppress comments (G04)" и убрать все эти упоминания. А вот для Output Job я как-то пока не нашел такой возможности.
  4. К слову Altium в gerber-а тоже добавляет информацию о себе. Достаточно открыть файл в блокноте и проверить первые 5 строчек. Там используется код G04 и приводится информация о конкретном слое: G04* G04 #@! TF.GenerationSoftware,Altium Limited,Altium Designer,20.0.9 (164)* G04* G04 Layer_Physical_Order=4* G04 Layer_Color=16711680* %FSLAX44Y44*% В pick&place файле тоже может быть информации об Altium-е (включая полный путь к проекту на компе). А вот в файлах сверловки я информации об Altium-е пока не находил (если конечно не брать в расчет файл с отчетом с расширением DRR)
  5. Если речь именно про ANSI C, то можно: Вариант 1. Если речь именно про ANSI C, то можно: Вариант 1. случайно отправил раньше времени, продолжение... Вариант 2. Сделать что-то типа такого: enum { CONFIG_FIELD_1, CONFIG_FIELD_2, } void SaveConfig(int type, void * value) { // забираем семафор switch (type) { case CONFIG_FIELD_1: config.var1 = *((int *)value); break; case CONFIG_FIELD_2: config.var2 = *((double *)value); break; } // сохраняем все // отдаем семафор } // где-нибудь в коде int newValue = 5; SaveConfig(CONFIG_FIELD_2, (void *)&newValue); Вариант 3. Для каждого типа данных сделать свои функции Ну и наверняка можно еще что-нибудь придумать, так как выше - это первое что пришло в на ум из того, что сам использовал в коде в разное время. Все зависит от вам и вашей программы, т.к. совсем универсального решения нет. и редактирование нормально не работает. Вариант 1. Это посмотреть на va_start, va_list, va_end. Примеры можно найти здесь
  6. Я так понимаю вы ходите Pick and Place файл получить. Тогда - статья про Pick and Place на сайте AD
  7. Есть еще один вариант, который в принципе не зависит от конкретного модуля и не требует отдельного аппаратного навигационного модуля. Можно использовать сервис типа этого https://combain.com. Проверял на модеме от Gemalto, работает вполне не плохо, но есть целый ряд минусов: Самый весомый - сервис платный. И для постоянной навигации (типа трекер) не подходит, т.к. дешевле уже навигационный модуль ставить Запрос надо отправлять по HTTP, соответственно наличие интернета - обязательно В зависимости от конкретного модема может потребоваться много "ручной работы" (собрать информацию о вышках с помощью AT команд) У нас приборы стационарные. Мы думали использовать этот сервис для обнаружения факта существенного перемещения приборов (например из одного здания в другое). И даже потестировали их бесплатный доступ. Но пока отказались от этого функционала. Просто пока не ясно, насколько он нам реально нужен.
  8. Странно. Я сейчас попробовал создать комнату, вроде все работает (версия 20.0.9). Сделал это следующим образом. Выбрал необходимые компоненты, затем Desing->Room->Create Rectangle Room from selected components. Вокруг компонентов появилась комната с названием RoomDefinition_1. Размещение и трассировку потом также получилось скопировать (Desing->Room->Copy Room Formats)
  9. Комнаты можно добавлять на плате вручную. Если нарисовать комнату поверх компонентов, то эти компоненты должны автоматом попадать в эту комнату (см. цитату ниже из мануала на AD). А дальше можно копировать размещение и трассировку между комнатами, как вы и делали до этого в случае, если части схемы были на разных листах.
  10. Все что показывает отладчик (Keil, IAR, MSVS и т.д.) - это все на усмотрение разработчиков конкретных сред и то, как они округляют число при выводе. Выше уже написали, что далеко не все вещественные числа можно точно представить с использованием float или double. И здесь нет никакой магии, просто особенность стандарта и способа представления таких чисел.
  11. И в догонку к предыдущему ответу. Решение проблем (если именно такое точно представление требуется) - использование чисел с фиксированной запятой (и соответствующей математики). Про данный тип чисел море статей, которые легко находятся в гугле, а на том же GitHub можно и готовые библиотеки найти.
  12. Выскажу предположение. Возможно оператор менял настройки для используемых SIM карт. У нас, например, все приборы, которые используются в ЕС, поставляются с SIM картами Emnify. У меня есть полный доступ ко всем SIM картам. Собственно для любой SIM карты я могу запретить/разрешить работу в 2G/4G и 3G сетях, или например, запретить работу с конкретными операторами. Думаю здесь описывается ситуация, когда оператор у себя в системе изменил настройки для конкретной SIM карты тем же самым образом. А так да, SIM800C - 2G модуль и ни в каких других сетях он работать не будет.
  13. Просто сделайте пустой PCBDOC файл, настройте в нем название слоев/сетку/еще что-то и используйте его как шаблон при создании новых плат. В этом случае не придется каждый раз настраивать все заново, либо брать предыдущий файл и удалять из него объекты/цепи и т.д.
  14. Brandner - Эстония - дорого иногда очень дорого (нашим партнерам пришлось там платы заказать, вышло почти в 5 раз дороже, чем у китайцев, могу в личке примерные цены для сравнения написать) CircuitHub - США - до сих пор регулярно мне рассылку присылают, т.к. мы планировали у них как-то сборку для одних клиентов заказывать (но так и не заказали) Поэтом я бы тоже на резонит посмотрел.