WS2812B... снова... Извини... на F4

Ореховый
Сб 24 марта 2018 11:45
Итак, с моим проектом мне нужно снова использовать адресуемые светодиоды...

Однако библиотека Роджерса HES в комплекте с STM32COR.

https: // pastebin.com/6umwgujj Командная строка компиляции....


Я уже использую SPI1, поэтому я изменил аппаратный вызов SPI на SPI2, не работал...

Я предположил, что звонки SPI идентичны между двумя ядрами. Я что -то упускаю?

Стивестронг
Солнце 25 марта 2018 г. 9:06
Вам не разрешено смешивать ядра.
Либо используйте Роджер, либо придерживайтесь общего, как обнаружено из вашего журнала:
Arduino \ hardware \STM32Generic\ Stm32 \ libraries \ spi \ src/spi.час

Ореховый
Солнце 25 марта 2018 г. 10:35
Ой....

В этом случае, что еще мне нужно сделать, чтобы запустить библиотеку?

Ореховый
Солнце 25 марта 2018 г., 11:00 утра
И добавить, только что протестировано, он также не компилируется на ядро ​​Rogers F4. Только ядра F1.

Стивестронг
Солнце 25 марта 2018 12:53
Если вы опубликуете коды ошибок, мы могли бы помочь.

В качестве альтернативы, вы можете попробовать с мой репо, Далее разработан, чем ядро ​​Роджера в отношении материалов F4.

Ореховый
Солнце 25 марта 2018 13:15
Я прокомментировал, как он был включен, но был пустым файлом....

установил ваше ядро

https: // pastebin.com/dlarf02h

Я предполагаю, что связано с тем, как это называет DMA Transfer. Я честно не знаю... Мой мозг превращается в гриб

Стивестронг
Солнце 25 марта 2018 г., 13:24
Понятно, в SPI LIB существует недостающая функция DMA для F4.
Это должно быть реализовано, что требует времени, отсутствующий ингредиент.

Ореховый
Солнце 25 марта 2018 г., 16:24
Я предполагаю, что просто копировать библиотеку F1 SPI, не работает?

Стивестронг
Солнце 25 марта 2018 г. 16:47
Это не сработает, DMA F4 отличается от F1.

Mrburnette
Солнце 25 марта 2018 г., 17:09
[Стивестронг - Солнце 25 марта 2018 г. 9:06] - Вам не разрешено смешивать ядра.
...
Слова чистой мудрости. ... В дополнение к тому, чтобы не смешивать ядра, также не следует пересекать потоки.
Эгон: Дон’T пересечь потоки.
Петр: Почему?
Эгон: Это было бы плохо.
Питер: я’М нечеткий на всей хорошей/плохой вещи. Что ты имеешь в виду “плохой”?
Эгон: Попробуйте представить всю жизнь, как вы знаете, она мгновенно останавливается, и каждая молекула в вашем теле взрывается со скоростью света.
Рэймонд: общее протоническое изменение.
Петр: Это’S плохо. Хорошо. Хорошо, важный совет безопасности, спасибо Эгону.
Изображение

Ореховый
Солнце 25 марта 2018 г. 18:47
Это было бы плохо: P

Ореховый
Пн 26 марта 2018 г. 18:31
Итак, считаете ли вы, что эта библиотека будет работать, если библиотека SPI была обновлена, чтобы включить все функции?

Mrburnette
Пн 26 марта 2018 г., 18:56
[Ореховый - Пн 26 марта 2018 г. 18:31] - Итак, считаете ли вы, что эта библиотека будет работать, если библиотека SPI была обновлена, чтобы включить все функции?
Это не то, что Стив здесь подразумевал?
[Стивестронг - Солнце 25 марта 2018 г. 13:24] - Понятно, в SPI LIB существует недостающая функция DMA для F4.
Это должно быть реализовано, что требует времени, отсутствующий ингредиент.
Frédéric (и Team) хорошо поработал с досками Nucleo F4
STM32F4
  • Nucleo F401RE
  • Nucleo F411RE
  • Nucleo F429ZI
  • Nucleo F446RE
  • STM32F407G-DISC1
и обертки для кубика + hal.

Поддержка F4 в Libmaple была несколько слабой с самого начала; Стив сделал замечательные вторжения в продвижение кода, но я понимаю приоритеты и временные ограничения, поэтому я просто уклоняюсь от основной работы по бэкэнд ... Трудно угодить толпам.

ИМО, долгосрочное решение для STM32 & Ардуиноид - это https: // github.com/stm32duino/arduino_core_stm32 ... Это официально, он поддерживается, он использует текущее мышление STM на инструментах, а переход на Pro-Tools является простым.

Луча

Стивестронг
Пн 26 марта 2018 г., 22:12
[Ореховый - Пн 26 марта 2018 г. 18:31] - Итак, считаете ли вы, что эта библиотека будет работать, если библиотека SPI была обновлена, чтобы включить все функции?
Да, это функция dmasendasync (), которая была реализована Виктором для F1.
Это еще не переносится на F4.

Стивестронг
SAT 07 апреля 2018 г. 8:20 утра
Я перенес функцию dmasendasync () мой F4 репо, Вы можете попробовать.

Ореховый
Солнце 08 апреля 2018 11:00 вечера
У меня нет моего главного компьютера Dev...

Но я просто попытался скомпилировать тест Strand, копируя библиотеку из каталога F1 LIB... и комментируя Wire Private включать.

К сожалению, все еще не скомпилировался...

https: // pastebin.com/ey5hf2rs << ошибка

Стивестронг
Пн, 09 апреля 2018 г. 8:13
Вы должны получить мой репо, он был обновлен 2 дня назад с изменениями, связанными с «__io»

Ореховый
Пн, 09 апреля 2018 г., 10:14
Я действительно думал, что сделал... :/

Попробую еще раз сейчас.

Ореховый
Пн, 09 апреля 2018 г., 10:20 утра
Да, все еще получаю ошибку
https: // pastebin.com/qn9az8cl

Стивестронг
Пн, 09 апреля 2018 г., 11:31
Я исправил, что ошибки произошли во время конфликта, объединяя __io.
Он должен компилировать сейчас без ошибок.

Ореховый
Пн, 09 апреля 2018 13:04
Отличный... Я не могу сделать глубокий тест в отношении пикселей Neo... Но это действительно компилируется. Когда я возвращаю свою главную установку и работает (в ожидании PSU), я могу сделать тест на проппер : D

Спасибо, Стив, это отличная помощь :)

Ореховый
Ср 30 мая 2018 12:37
Привет еще раз извините за огромную задержку, PSU потребовался целый месяц, чтобы появиться, и к тому времени я начал работать над другим проектом, который занимал большую часть моего времени...

Я теперь вернулся к этому. Но у вас есть небольшая проблема с этим все еще....

Я не думаю, что это основная проблема, это только я пытаюсь редактировать вещи, и это не работает...

Нормальная библиотека использует аппаратное обеспечение SPI 1... Но я хочу использовать булавки SPI2...

Я попытался редактировать звонки SPI в библиотеке на SPI2 или SPI_2, но я получаю незаконные ошибки...

Что мне не хватает? (Помимо мозга, очевидно)

Стивестронг
Ср 30 мая 2018 г. 14:06
Я не знаю, чего вам не хватает, но мне не хватает дополнительной информации, чтобы помочь, например, сообщение об ошибке, использованный эскиз, ОС, метод загрузки, ...

Ореховый
Ср 30 мая 2018 г. 15:28
Привет, извините... Ммм, я как бы обошел эту ошибку, но она не запустила светодиоды...

Я добавил Spiclass spi_2 (2); к заголовку библиотеки после прочтения в некоторых других темах о том, как активировать второй SPI...

Пока это действительно компилировало, светодиоды все еще не работали в тесте на пряди.


.... добавлен
Я вернулся в SPI1 (SPI.) но все еще не работал...

Стивестронг
Ср 30 мая 2018 г., 18:20
Проверьте соединения еще раз и попробуйте простой записи SPI в начале.
Если он работает, добавьте еще немного кода.

Стивестронг
Пт, 01 июня 2018 г. 13:21
На самом деле, нет необходимости определять новый отдельный экземпляр для SPI_2, этого достаточно, чтобы вызвать SPI.setModule(2);

SPI на F4