Интеграция своего кода на Си.

На этом форуме Вы можете задать вопросы знатокам программы и автору.
Аватара пользователя
Сергей
Лейтенант
Сообщения: 578
Зарегистрирован: 31.08.2015{, 15:06}
Репутация: 6
Имя: Сергей
Контактная информация:

Интеграция своего кода на Си.

#21

Сообщение Сергей » 29.01.2016{, 16:43}

Naum писал(а):если можно выложите блок чтобы посмотреть как вы это сделали. Большое спасибо
Прикрепил. Только текст получилось вывести прямо из кода. Вставить со входа блока не получилось(, пока. В ИДЕ оно вроде подставляет в строке с командой вывода текста, переменную, к которой присвоен вход блока, но чет то не работает.
Сюда прикрепить не получилось. OLED

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

Интеграция своего кода на Си.

#22

Сообщение Слимпер » 29.01.2016{, 17:18}

hallozin писал(а):Сергей, попробуйте эти примеры если не заработают ,значит, что то подключили неправильно.передатчик передаёт значения с 2 аналоговых портов а приёмник принимает и отсылает в портhttps://yadi.sk/d/QtBq_FvTnrZL4 https://yadi.sk/d/Q_
Попробовал у себя эти примеры загрузить в контроллер. Что то с подключением библиотеки у меня не получается.
При запуски кампеляции он пишет "Неудалось выгрузить библиотеку <<RF24-master >>"
Дальше пишет Не найденны следующие библиотеки: <RF24.hxnRF24L01.h>

Проверил папку FLProg\ide\libraries\ там папка  RF24-master пустая.

Что я не так делаю.

Откомпилировать проект удалось только после скачивание смой библиотеки по ссылки найденной в  тексте блока, и ручного ее добавления в  FLProg\ide\libraries\RF24-master.

Пробовал и на инсталлированной версии и на портабельной.

Аватара пользователя
Сергей
Лейтенант
Сообщения: 578
Зарегистрирован: 31.08.2015{, 15:06}
Репутация: 6
Имя: Сергей
Контактная информация:

Интеграция своего кода на Си.

#23

Сообщение Сергей » 29.01.2016{, 18:14}

Слимпер писал(а):При запуски кампеляции он пишет "Неудалось выгрузить библиотеку >
Насколько я понял, это происходит перенос библиотеки из указанной папки в папку ИДЕ. Такая проблема и уменя возникает. Может это в Баг-трекер надо перенести?

Аватара пользователя
support
Супермодератор
Сообщения: 1900
Зарегистрирован: 03.01.2018{, 11:45}
Репутация: 790
Откуда: Астрахань
Имя: Сергей
Контактная информация:

Интеграция своего кода на Си.

#24

Сообщение support » 29.01.2016{, 18:42}

Сергей писал(а):Насколько я понял, это происходит перенос библиотеки из указанной папки в папку ИДЕ. Такая проблема и уменя возникает. Может это в Баг-трекер надо перенести?
Не совсем так. Библиотека хранится в самом блоке (внутри файла .ubi) и при необходимости копируется в папку ide\libraries\. Проблемма возможно в том что программа не имеет права писать в ту папку куда она пытается выгрузить библиотеку. Для пробы можно запустить программу от имени администратора. Если выгрузится один раз, потом уже можно пускать обычным путём
Автор программы FLProg.

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

Интеграция своего кода на Си.

#25

Сообщение Слимпер » 29.01.2016{, 19:03}

support писал(а):Не совсем так. Библиотека хранится в самом блоке (внутри файла .ubi) и при необходимости копируется в папку ide\libraries\. Проблемма возможно в том что программа не имеет права писать в ту папку куда она пытается выгрузить библиотеку. Для пробы можно запустить программу от имени администратора. Если выгрузится один раз, потом уже можно пускать обычным путём
И от админа пробовал все равно, создаётся пустая папка.

Пробовал, изменять настройки безопасности, не помогло.

Сперва пишет "Неудалось выгрузить библиотеку <<RF24-master >>", после в FLProg\ide\libraries\ появляется папка RF24-master.
Затем вылазиет "Не найденны следующие библиотеки: <RF24.hxnRF24L01.h>"

При следующей попытки компиляции сообщения про неудачную выгрузку библиотеки уже нет а  "Не найденны следующие библиотеки: <RF24.hxnRF24L01.h>" есть.

Если руками удалить пустую папку RF24-master, то снова появится ошибка выгрузки библиотеки.

Аватара пользователя
Skull
Лейтенант
Сообщения: 424
Зарегистрирован: 08.09.2015{, 16:18}
Репутация: 4
Откуда: Мариуполь

Интеграция своего кода на Си.

#26

Сообщение Skull » 29.01.2016{, 21:40}

Аналогичное поведение.

Народ, кто разбирается в Си - а сделайте, пожалуйста блок, который будет строку отправлять\принимать , а ? Так же что угодно прикрутить можно, а не только значения аналоговых портов
А в идеале- еще и выбор канала (pipe вроде по даташиту) с адресом устройства в блок прикрутить. совпал адрес- выдало строку, не совпал- дальше на приеме.

Это ж сколько паутины из проводов выбросить можно )
Последний раз редактировалось Skull 29.01.2016{, 21:50}, всего редактировалось 1 раз.

Аватара пользователя
Сергей
Лейтенант
Сообщения: 578
Зарегистрирован: 31.08.2015{, 15:06}
Репутация: 6
Имя: Сергей
Контактная информация:

Интеграция своего кода на Си.

#27

Сообщение Сергей » 29.01.2016{, 23:51}

Делаю сейчас пользовательский блок для считывателя RFID-RC522. Результаты есть, только надо все упорядочить. Будет блок с одним выходом. Поднес карту, на выходе ее UID. Пока не могу разобраться как в HEX вывести ее ID или строкой или так и должно быть...  Выводит данные в десятичном формате unsigned long. support,  как Вы считаете?

[video][/video]
В архиве проект с ЛСД и блок пользовательский. На всякий случай библиотека. Библиотеку копируйте вручную.
ссылка

Аватара пользователя
Skull
Лейтенант
Сообщения: 424
Зарегистрирован: 08.09.2015{, 16:18}
Репутация: 4
Откуда: Мариуполь

Интеграция своего кода на Си.

#28

Сообщение Skull » 30.01.2016{, 00:06}

Ребята, тут был выложен блок под OLED SPI . А есть под его I2C версию ??
Последний раз редактировалось Skull 30.01.2016{, 00:10}, всего редактировалось 1 раз.

Аватара пользователя
Сергей
Лейтенант
Сообщения: 578
Зарегистрирован: 31.08.2015{, 15:06}
Репутация: 6
Имя: Сергей
Контактная информация:

Интеграция своего кода на Си.

#29

Сообщение Сергей » 30.01.2016{, 00:13}

Skull, привет). Неа. У меня на руках дисплей с СПИ. А с И2С нету. Ну можно открыть изменить блок.
Вырезка из примеров библиотеки

// If using software SPI (the default case):
#define OLED_MOSI   9
#define OLED_CLK   10
#define OLED_DC    11
#define OLED_CS    12
#define OLED_RESET 13
Adafruit_SSD1306 display(OLED_MOSI, OLED_CLK, OLED_DC, OLED_RESET, OLED_CS);

/* Uncomment this block to use hardware SPI
#define OLED_DC     6
#define OLED_CS     7
#define OLED_RESET  8
Adafruit_SSD1306 display(OLED_DC, OLED_RESET, OLED_CS);
*/

В моем блоке верхний блок можно убрать, а нижний подставить вместо него. Это на вкладке декларации.

Проверить не могу, пробуйте.

Аватара пользователя
Skull
Лейтенант
Сообщения: 424
Зарегистрирован: 08.09.2015{, 16:18}
Репутация: 4
Откуда: Мариуполь

Интеграция своего кода на Си.

#30

Сообщение Skull » 30.01.2016{, 11:02}

Ага ) Спасибо за пинок в нужном направлении :D
Инициализация выглядит так :
#include <SPI.h>
#include <Wire.h>
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define OLED_RESET 4
Adafruit_SSD1306 display(OLED_RESET);
#define NUMFLAKES 10
#define XPOS 0
#define YPOS 1
#define DELTAY 2

А теперь как убрать твою беззастенчивую саморекламу и вывести что-то осмысленное ? )))

Добавлено (30.01.2016, 11:02)
---------------------------------------------
Сергей писал(а):Кто нибудь использовал вот НРФки с усилителем и антенной?
Зависит от антенны сильно. Если применять 24dB тарелку то вполне работает и несколько километров. Точно не скажу -  вычислить было трудновато, но больше трех .
Даже если просто гонять девайс по частотам- как попадаешь в резонанс антенны дальность сильно увеличивается. Штатные- просто кусок металла, настройка приблизительная. 
Коллинеарки 2х5\8  настроенные на конкретный канал на прямой видимости стабильно работают 1400м, и даже дождь со снегом не помеха, в которые дальний прием Фай-Вая становится поиском черного кота в темной комнате.
Последний раз редактировалось Skull 30.01.2016{, 11:07}, всего редактировалось 1 раз.

Аватара пользователя
Сергей
Лейтенант
Сообщения: 578
Зарегистрирован: 31.08.2015{, 15:06}
Репутация: 6
Имя: Сергей
Контактная информация:

Интеграция своего кода на Си.

#31

Сообщение Сергей » 30.01.2016{, 12:31}

Skull писал(а):А теперь как убрать твою беззастенчивую саморекламу и вывести что-то осмысленное ? )))
это не реклама Изображение . Просто на работе надо было показать че я целый день за ноутом просидел... Типа осваивал новый дисплей...))).
Сегодня попробую с переменными поиграться. Самому интересно...

Аватара пользователя
Сергей
Лейтенант
Сообщения: 578
Зарегистрирован: 31.08.2015{, 15:06}
Репутация: 6
Имя: Сергей
Контактная информация:

Интеграция своего кода на Си.

#32

Сообщение Сергей » 30.01.2016{, 20:02}

Skull писал(а):А теперь как убрать твою беззастенчивую саморекламу и вывести что-то осмысленное ? )))
вот без лишнего. Входы блока работают.(почти Изображение )
только надо вот это
Вложение 0119442.png больше недоступно
удалить. Почему то идентификатор при компиляции ФЛПрога добавляет его два раза.
Вложения
0119442.png

Аватара пользователя
Сергей
Лейтенант
Сообщения: 578
Зарегистрирован: 31.08.2015{, 15:06}
Репутация: 6
Имя: Сергей
Контактная информация:

Интеграция своего кода на Си.

#33

Сообщение Сергей » 30.01.2016{, 20:07}

че то файлы не добавляются.
Временная ссылка - блок  Временная ссылка - проект
видео
[video][/video]

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

Интеграция своего кода на Си.

#34

Сообщение Слимпер » 30.01.2016{, 20:14}

Про лишние идентификаторы я тоже попадал:

  timesend параметр (равен 300) 
В вставлял код:
if ((millis() - time1) >= timesend || errorstate !=0)  
При компиляции получалось: 
if ((millis() - time1) >=_168551789_1 300 || errorstate !=0)

И так во многих местах после знака "= "

Решил проблему убрав пробелы после "="

В вставлял код:

if ((millis() - time1) >=timesend || errorstate !=0)  
При компиляции получалось: 
if ((millis() - time1) >= 300 || errorstate !=0)

Аватара пользователя
Сергей
Лейтенант
Сообщения: 578
Зарегистрирован: 31.08.2015{, 15:06}
Репутация: 6
Имя: Сергей
Контактная информация:

Интеграция своего кода на Си.

#35

Сообщение Сергей » 31.01.2016{, 20:53}

Skull, вот посмотри готовый блок для дисплея. Там вообще ужас Изображение  http://forum.flprogwiki.ru/viewtopic.php?f=18&t=618

Schlosser
Рядовой
Сообщения: 11
Зарегистрирован: 08.09.2015{, 08:45}
Репутация: 0

Интеграция своего кода на Си.

#36

Сообщение Schlosser » 31.01.2016{, 20:58}


"Не найденны следующие библиотеки: <RF24.hxnRF24L01.h>"
Всем доброго времени суток. У меня тоже такое сообщение появляется при компиляции.   Может это быть из за того, что на папке IDE стоит атрибут (Только для чтения)?

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

Интеграция своего кода на Си.

#37

Сообщение Слимпер » 31.01.2016{, 21:46}

Пробовал написать для себя модуль работы nRF24L01 +.
В Си я знаю крайне мало, по сему код получился довольно корявый.

Идея сделать клиент  и сервер.
 Клиент отсылает данные по времени или по запросу от сервера.
 Сервер опрашивает клиенты или просто получает данные от клиентов если те посылают их периодически.

Так же возможность передачи данных от сервера клиенту, т.е. двухсторонний обмен.

Сейчас сделано два варианта блоков:
- один для передачи 6 переменных int
- другой для передачи строки длиной до 26 символов (остальные отбрасываются)

В проекте  можно использовать только один из блоков.

В теории в режиме опроса клиентов сервером возможно подключение нескольких клиентов, но сам не проверял. 

Вот Архив, в нем библиотека (так как у меня автоматически она не подгружается), и папки с блоками и примерами. 

Описание блоков есть, но его видно только из библиотеки или из редактора.

Параметры Скорость и Канал, должны быть одинаковы и на сервер и на клиентах.

ЛОМ
Рядовой
Сообщения: 6
Зарегистрирован: 18.10.2015{, 22:33}
Репутация: 0
Откуда: ВОРОНЕЖ

Интеграция своего кода на Си.

#38

Сообщение ЛОМ » 05.02.2016{, 21:26}

Здравствуйте форумчане. Я начинающий и пытаюсь написать программу к стиральной машине автомату с минимумом необходимых функций. Не получается прикрутить блок термостата в пользовательские на FBD 

int analogPin= A0;
int Pin= 13;

void setup() {pinMode ( A0, INPUT );
pinMode ( 13,OUTPUT);

Serial.begin(9600);

}

void loop() { int sensorValue = analogRead (analogPin);
Serial.println(sensorValue);
if ( sensorValue < 300)
digitalWrite(Pin,HIGH);
else
digitalWrite(Pin,LOW);
delay(1000);

}

Хотелось бы иметь возможность выбирать порты и порог срабатывания
Последний раз редактировалось ЛОМ 05.02.2016{, 21:42}, всего редактировалось 1 раз.

vovka1973
Майор
Сообщения: 1060
Зарегистрирован: 14.02.2016{, 14:16}
Репутация: 42
Откуда: kazahstan

Интеграция своего кода на Си.

#39

Сообщение vovka1973 » 22.03.2016{, 16:25}

ЛОМ писал(а):Здравствуйте форумчане. Я начинающий и пытаюсь написать программу к стиральной машине автомату с минимумом необходимых функций. Не получается прикрутить блок термостата в пользовательские на FBD
 Опиши весь алгоритм я попробую тебе сделать.
Изображение

Аватара пользователя
VirSpy
Рядовой
Сообщения: 62
Зарегистрирован: 03.12.2015{, 22:40}
Репутация: 3
Откуда: Минск, РБ

Интеграция своего кода на Си.

#40

Сообщение VirSpy » 22.03.2016{, 18:14}

Тут не мой код, просто вырезал. Может кто поможет советом? SD карта в качестве EEPROM

Ответить

Вернуться в «Спросить у знатоков»