РЕШЕНО Ошибка в примере из библиотеки apds9190

Тема в разделе "Arduino & Shields", создана пользователем Ramterdam, 19 ноя 2019.

  1. Ramterdam

    Ramterdam Гик

    Как бы не хотели мне верить после всего, что я натворил, но мне правда нужно исправить эту ошибку и постараться исправить самого себя, чтобы у окружающих не было такой реакции. Поверьте мне я постараюсь чтобы то ни было исправиться на пользу обществу.
    Я понимаю, на сколько это всё бредово звучит со стороны...
     
  2. Ramterdam

    Ramterdam Гик

    У меня получилось!
    Кому интересно..:
    Ошибка была в том, что в скачанной библиотеке неправильный файл:
    не apds9190.cc (или) apds9190.cpp, а apds.h
    Поэтому то он и не мог понять, где эти функции
    Надо было просто полазать в файлах .h и кое-что там исправить:)
    Тем, кто будет скачивать эту библиотеку с github.com(https://github.com/njhale/apds9190):
    переделайте файл apds9190.cc в файл apds.h и внутри программы main.ino(внутри библиотеки он .cc, но его надо переделать в .ino) напишите там, где объявляются все библиотеки
    #include <apds.h>
    и всё должно получиться!
    Тем не менее, говорю всем, участвующим в этой теме, Большое спасибо!
     
    Последнее редактирование: 21 ноя 2019
  3. Asper Daffy

    Asper Daffy Иксперд

    Я только что поверил Вашему обещанию и, прежде, чем писать Вам, сделал всё сам, чтобы ответственно и правильно Вам рассказать.

    Так, как Вы пишете, делать нельзя. Это плодит новые проблемы, которых Вы пока не заметили.
    Вот именно это действие.

    Вам надо рассказать, как правильно всё сделать? Или уже не надо?

    [​IMG]
     
    Последнее редактирование: 21 ноя 2019
  4. SergeiL

    SergeiL Оракул Модератор

    Вспоминается:
    кривая-даннинга-крюгера.jpg
     
  5. parovoZZ

    parovoZZ Гуру

    очень вредный совет от полного непонимания предмета. Ну и то, что так сработало - это всего-лишь случайность, а не закономерность.
     
  6. Ramterdam

    Ramterdam Гик

    По
    По-вашему, так надо понимать, то, что я разобрался с ошибкой - это случайность?
     
  7. parovoZZ

    parovoZZ Гуру

    здесь правильно подметили:
     
  8. Ramterdam

    Ramterdam Гик

    Как я понял, вы тоже знаете решение..?
     
  9. b707

    b707 Гуру

    Конечно знает.
    вам тут было дано несколько решений на выбор, а вы предпочли переименовывать файлы методом тыка, не понимая. зачем они нужны. И вы совершенно правильно поняли - то, что у вас что-то получилось - это случайность.
    Переменовывать файл исходника .cc в заголовочный .h - это глупость
     
  10. Ramterdam

    Ramterdam Гик

    Хах...
    Это говорит тот, кто сам мне предложил переименовать файл с .cc на .cpp со словами "А вдруг поможет"
     
  11. b707

    b707 Гуру

    разберитесь для начала. что означают каждое из расширений .c .cpp.cc .h
    Они все разные не просто так.
     
  12. Ramterdam

    Ramterdam Гик

    Однако, фраза "А вдруг поможет" приводит к мнению, что вы пытаетесь разобраться и помочь МЕТОДОМ ТЫКА!
    Так что не надо упрекать меня в том, что вы делаете сами
     
  13. Ramterdam

    Ramterdam Гик

    Я не против услышать ответ
     
  14. b707

    b707 Гуру

    ну-ну :)
    тем не менее мой метод работает - вот только что попробовал.
    Имена файлов apds9190 на apds не менял, #include в скетче править не пришлось

    И обратите внимание на картинку в посте #43 - я вижу что и у Asper Daffy все получилось без изменения имен библиотеки.

    Так что учится вам еще и учится...
     
  15. Ramterdam

    Ramterdam Гик

    У меня почему-то не получилось
    Если не секрет, то как вы библиотеку добавляли в папку с другими библиотеками?
    А то мало ли, может я добавил неправильно
     
  16. Asper Daffy

    Asper Daffy Иксперд

    Вы опять бычите? Вчера же обещали.

    Да, переименовывать файл .сс в .h - это не "разобрался с ошибкой", а случайно попал, что заработало, но только до ближайших граблей (как только в проекте будет более одного файла, включающего Ваш .h - приплыли).

    Делается это так.

    1. Заходите в директорию, где у Вас лежат все скетчи, в ней есть папка libraries. Открываете её.
    2. Копируете в libraries папку lib\apds9190 из архива целиком.
    3. заходите в только что соданную папку libraries\apds9190 и в ней переименовываете файл с .cc на .cpp
    4. Выходите из libraries обратно в папку, где у Вас лежат все скетчи
    5. Создаёте там папку с любым именем, например KAKA
    6. в папку КАКА копируете файл src\main.cc из архива библиотеки
    7. Переименовываете main.cc в KAKA.ino (он должен называться также как папка и иметь расширение .ino

    Всё, запускаете IDE, открываете KAKA.ino и он нормально компилируется (если аккуратно всё сделаете и не будете умничать)

    И НИКАКИХ ПРАВОК ВНУТРИ ФАЙЛОВ!
     
    Andrey12, DetSimen, Daniil и 2 другим нравится это.