Слетела ИДЕ с Вин7. Появляется титульное окно загрузки, несколько секунд видно сообщение "Инициализация пакетов", потом окно пропадает, И ВСЁ. И больше ничего не происходит. Другого компа нет в доступе. Переустановка ИДЕ не помогает. Безопасный режим не помогает. Откат системы до точки восстановления не помогает... Получается, только винду осталось переустанавливать? Только этого не хватало...
Не помощник. Работаю с Линукс, Винды нет, даже в варианте wine и не предполагается в т.ч. из "политических соображений".
Попробуйте перепостить вопрос в иной раздел или отдельной темой .. тут есть кому помочь и в достатке.
Библиотечный пример запускал ТОЧНО, только сейчас чёткого ответа дать не могу. Не помню, что там и как получилось... Думаю, что ничего особенного с тем примером не добился, иначе бы запомнилось. С компортом девайс нормально работает и этой прошивкой. Там вообще вопросов нет. Проблемы начинаются только после подключения ЖКИ. Работает ли компорт с подключенным ЖКИ? Тоже не помню. Вроде бы продолжает работать, но это не точно... Пока не имею возможности проверить.
Библиотека Serial не пересекается с вашим ЖКИ, как понимаю и ЖКИ не должен пересекаться с библиотекой MAX30100 .. т.к. у Вас прямой ЖКИ.
Отсюда: если код с ЖКИ "глючит" то вариантов вижу только два:
а) ЖКИ неверно подключен и что-то "подвешивает" в своей библиотеке .. например ожидание готовности ЖКИ принять следующий байт, сигнал которой .. не запаян куда следует. Проверяется загрузкой тестового примера от библиотеки ЖКИ и прогон его "в цикле" например .. вместо разового вывода текста повторить его в цикле раз 100 ...тыщу. И повторить после кнопки ресет, включения-выключения и т.д. То есть все те состояния где у Вас "глючит".
б) Пересечение библиотек ЖКИ и MAX30100 .. например там могут быть "единообозванные" переменные или массивы, которые смешиваются и пересекаются в своей работе как глобалы. Но это сильно врядли. Только если тест из "а" покажет что сам по себе ЖКИ работает успешно и надежно.
Бывает также что и функции обзывают одинаково, особенно когда они без параметров .. но это очень маловероятно.
Вариант "кривой ЖКИ" не рассматриваю. К сожалению проверить мне - не на чем, у меня есть ЖКИ только с I2C интерфесом и отсутствует MAX30100 .. собственно из-за чего и парился с "фоторезистором" (есть тема в проектах).
Зависания выражаются в том, что довольно часто только ПЕРВЫЙ запуск после прошивки приводит к нормальной работе устройства. Потом, если выключить-включить, то после загрузки (пропадания сообщения "Инициализация...") не появляются строки с данными пульса и сатурации. Т.е. экран остаётся совершенно пустым, работает только подсветка. Иногда, если долго включать-выключать, могут появиться строки с данными, только в самих данных - мусор: либо многозначные числа, либо "nan", либо "ovf".
Первый запуск от повторного после кнопки ресет ни чем не отличается друг от друга, если нет записи в EEPROM и оттуда не забираются какие-то данные. Как понимаю, ни в вашем коде ни в библиотеке пульсоксиметра ничего подобного нет. Соответственно, скорее всего проблема носит "аппаратный характер" для чего и просил схему устройства.
Тут можно гадать вечно. И таки да, аппаратный характер - это в т.ч. и изменение уровня питания с подключенным USB-шнурком (первый запуск) и без такового (от своего источника).
За контакты ручаюсь. Все соединения паяные, бредбордами не пользуюсь. ЭТОТ ЖЕ макет прекрасно работает с пульсоксиметрическим примером из инета - но только в части ЖКИ. В том смысле, что всё показывается, но пульс гуляет от пары десятков до пары сотен, а сатурацию кажет стационарно 94 с копейками - т.е. получается дурилка картонная...
Там "дурилка картонная" заложена изначально. Не знаю о каком примере из сети идет речь, видел несколько. В т.ч. и такой, где результат берется из .. заранее прошитой таблички, причем по сути "не взирая на результат замера"
Это в целом очень чувствительный и тщательно собираемый прибор, если хотите получить нечто внятное.
Поэтому и просил "фото сборки". Важна не только схема, но и КАК в реальности запаяны провода, особенно Земли. Величина наводок в моих попытках превышала полезный сигнал от 10 до 100 раз. Некоторые из них честно принимал за пульс, пока не дошло что пульса с частотой 50Гц .. не бывает.
А вот именно ЭТА библиотека, прибалтийская - она именно чётко детектирует пульс. У меня с недавних пор наблюдаются экстрасистолии (нарушения сердечного ритма), по словам врача, скорее всего связанные с остеохондрозом. И вот эти пропадания импульсов прибалтийская библа определяет ЧЁТКО. Т.е. то, что я вижу на компортовском графике - это именно МОЙ ПУЛЬС, а не какая-то левая наводка, как в вашей системе, с самодельным датчиком на ОУ. Только палец должен быть тёплым (у меня хронически холодные руки-ноги). Сейчас-то жара наступила, но недели две назад было прохладно, и были проблемы с детекцией пульса. Додумался подогревать палец под лампой накаливания - перед тем, как класть его на датчик. И все проблемы ушли. Вообще всё заработало как часы. Но только с компортом. А с ЖКИ - грей, не грей - никактого толку...
Да, смотрел уже. Библиотека не самая плохая ..
Есть ли лучше - не знаю. Хуже есть, видел.
Ещё раз: проблемы надо исключать последовательно.
Если проблема в работе с ЖКИ - первым делом гоним тест ЖКИ отдельно от остального. Работает? Исключаем проблему в самом ЖКИ, его подключении к схеме и его библиотеках как таковых. Нет? ура, копаем тут.
Далее, смотрим согласование библиотеки ЖКИ с библиотекой датчика. Если оно не работает только в связке - значит проблема здесь.. конфликт библиотек. Внимательно и вдумчиво изучаем обе и ищем "хде они могут пересекаться".
Ещё, как вариант, они могут пересекаться на каком-нибудь "пине", несмотря на то что MAX30100 подключен по I2C (А4,А5) и I2C у Вас не задействован в ЖКИ.. так бывает тоже.