Тестирование версии 9.0.

Это мой личный форум. Здесь я буду задавать вопросы пользователям, проводить опросы, и тому подобное. Темы в этом форуме могу создавать только я, Вы можете создавать комментарии и отвечать на опросы.
lufthaus
Рядовой
Сообщения: 2
Зарегистрирован: 09.04.2022{, 15:57}
Репутация: 0
Имя: Алексей

Тестирование версии 9.0.

#161

Сообщение lufthaus » 26.04.2024{, 21:48}

Здравствуйте, при попытки подключения Raspberry Pi Pico W через встроенный модуль, WIFI не работает ни режиме точки доступа, ни в режиме клиента (пробовал и с вытащенным блоком о состоянии сети), при этом прошивка загружается, но плата зависает и определяется как неизвестное устройство , помогает только перезагрузка с нажатой кнопкой boot, после этого можно заново загружать прошивки.
Так же пробовал вывести в комп-порт температуру с встроенного датичка, он же на одном из 4-х аналоговых входов находится, со всех четырех входов выводятся нули. При загрузке примера из интернета температура в комп порт выводится. На плате предусмотрен Bluetooth, но пока не реализован в программе.
Спасибо за развитие программы и что добавляете поддержку новых плат.

ecoins
Полковник
Сообщения: 2962
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 455
Откуда: Шатура
Имя: Энвер

Тестирование версии 9.0.

#162

Сообщение ecoins » 27.04.2024{, 09:30}

lufthaus писал(а):
26.04.2024{, 21:48}
Здравствуйте, при попытки подключения Raspberry Pi Pico W через встроенный модуль,
Дополнительно можно посмотреть здесь
viewtopic.php?f=247&t=8171

lufthaus
Рядовой
Сообщения: 2
Зарегистрирован: 09.04.2022{, 15:57}
Репутация: 0
Имя: Алексей

Тестирование версии 9.0.

#163

Сообщение lufthaus » 27.04.2024{, 14:39}

ecoins писал(а):
27.04.2024{, 09:30}
lufthaus писал(а):
26.04.2024{, 21:48}
Здравствуйте, при попытки подключения Raspberry Pi Pico W через встроенный модуль,
Дополнительно можно посмотреть здесь
viewtopic.php?f=247&t=8171
Разобравшись более детально, оказалось, что я заказ под видом Raspberry Pi Pico W плату с другим wifi модулем на esp8285, а на оригинальной плате установлен модуль CYW43439, от это видимо и все проблемы.

Ardudue
Лейтенант
Сообщения: 430
Зарегистрирован: 13.04.2020{, 18:22}
Репутация: 24
Имя: Антон

Тестирование версии 9.0.

#164

Сообщение Ardudue » 29.04.2024{, 06:08}

Нет блоков EEPROM?.... сохранить, читать из EEPROM.

Ander
Рядовой
Сообщения: 70
Зарегистрирован: 31.10.2023{, 12:50}
Репутация: 12
Имя: Андрей

Тестирование версии 9.0.

#165

Сообщение Ander » 29.04.2024{, 08:36}

Ardudue писал(а):
29.04.2024{, 06:08}
Нет блоков EEPROM?.... сохранить, читать из EEPROM.
Сохранение теперь внутри самих переменных.

Ardudue
Лейтенант
Сообщения: 430
Зарегистрирован: 13.04.2020{, 18:22}
Репутация: 24
Имя: Антон

Тестирование версии 9.0.

#166

Сообщение Ardudue » 29.04.2024{, 10:18}

Ander писал(а):
29.04.2024{, 08:36}
Сохранение теперь внутри самих переменных.
а читать как?

Аватара пользователя
Phazz
Полковник
Сообщения: 2565
Зарегистрирован: 17.10.2016{, 15:38}
Репутация: 367
Откуда: Сургут
Имя: Анатолий

Тестирование версии 9.0.

#167

Сообщение Phazz » 29.04.2024{, 10:27}

Ardudue, как обычную переменную

Ardudue
Лейтенант
Сообщения: 430
Зарегистрирован: 13.04.2020{, 18:22}
Репутация: 24
Имя: Антон

Тестирование версии 9.0.

#168

Сообщение Ardudue » 29.04.2024{, 12:20}


ecoins
Полковник
Сообщения: 2962
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 455
Откуда: Шатура
Имя: Энвер

Тестирование версии 9.0.

#169

Сообщение ecoins » 29.04.2024{, 13:29}

Ardudue писал(а):
29.04.2024{, 12:20}
возможно ли для ESP32 реализовать настройки диапазона аналогового входа?
Можете уточнить вопрос, более подробно?
С уважением, ecoins.

Ardudue
Лейтенант
Сообщения: 430
Зарегистрирован: 13.04.2020{, 18:22}
Репутация: 24
Имя: Антон

Тестирование версии 9.0.

#170

Сообщение Ardudue » 29.04.2024{, 13:56}

ecoins писал(а):
29.04.2024{, 13:29}
Можете уточнить вопрос, более подробно?
я же сслылку дал на тему...
AstroGraf писал(а):
28.03.2024{, 15:35}
Требуется измерять аналоговый сигнал в диапазоне 0.5 - 1.2В, причем от 2-х источников одновременно. Выбрал контроллер ESP32, у него много аналоговых 12-битных входов в диапазоне 0-3.3В. В процессе изучения обнаружил что имеется возможность менять измеряемый диапазон:
Если посмотреть техническую документацию на ESP32, то в ней указано, что при напряжении VDD_A = 3.3V:

0dB ослабление (ADC_ATTEN_DB_0) дает диапазон до 1.1V.
2.5dB ослабление (ADC_ATTEN_DB_2_5) дает диапазон до 1.5V.
6dB ослабление (ADC_ATTEN_DB_6) дает диапазон до 2.2V.
11dB ослабление (ADC_ATTEN_DB_11) дает диапазон до 3.9V.
По факту, если при ADC_ATTEN_DB_11 замерять напряжение, то уже при величине порядка 2.6 V на 12-ти битах АЦП начинает выдавать предельные 4095.

Из-за характеристики АЦП наиболее точные результаты измерений получаются в более узком диапазоне, чем заявлено в документации. На начальном и конечном участке более или менее линейная характеристика АЦП изгибается и становится более пологой, поэтому измерения очень неточные. В документации указаны рекомендуемые диапазоны измерений:

0dB ослабление(ADC_ATTEN_DB_0) — от 100 до 950mV.
2.5dB ослабление (ADC_ATTEN_DB_2_5) от 100 до 1250mV.
6dB ослабление (ADC_ATTEN_DB_6) от 150 до 1750mV.
11dB ослабление (ADC_ATTEN_DB_11) от 150 до 2450mV.
В документации есть примечание, что при ослаблении в 11dB максимальное напряжение ограничено VDD_A, а не указанным ранее 3.9 V.
Имеется ли в FlProg возможность менять эти настройки?

Аватара пользователя
Phazz
Полковник
Сообщения: 2565
Зарегистрирован: 17.10.2016{, 15:38}
Репутация: 367
Откуда: Сургут
Имя: Анатолий

Тестирование версии 9.0.

#171

Сообщение Phazz » 29.04.2024{, 14:46}

А зачем это? Точность АЦП у есп32 и так не очень. А тут вообще будет никакая. Расширение диапазона решается двумя резисторами

ecoins
Полковник
Сообщения: 2962
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 455
Откуда: Шатура
Имя: Энвер

Тестирование версии 9.0.

#172

Сообщение ecoins » 29.04.2024{, 15:04}

Ardudue писал(а):
29.04.2024{, 13:56}
Имеется ли в FlProg возможность менять эти настройки?
Пока нет.
Технически возможно.
Можно реализовать через пользовательский блок.
Неплохая альтернатива (там где это приемлемо) ADS1115 - 16 разрядов.

slsl
Рядовой
Сообщения: 72
Зарегистрирован: 08.12.2021{, 22:41}
Репутация: 8
Имя: Вячеслав

Тестирование версии 9.0.

#173

Сообщение slsl » 29.04.2024{, 15:11}

А когда ждать очередной подправленной бэтты?

Аватара пользователя
NordKavkaz
Рядовой
Сообщения: 87
Зарегистрирован: 02.02.2024{, 15:19}
Репутация: 0
Откуда: Георгиевск
Имя: Александр

Тестирование версии 9.0.

#174

Сообщение NordKavkaz » 29.04.2024{, 18:41}

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

georgsp
Рядовой
Сообщения: 8
Зарегистрирован: 15.05.2021{, 17:25}
Репутация: 2
Имя: Георгий

Тестирование версии 9.0.

#175

Сообщение georgsp » 30.04.2024{, 11:43}

NordKavkaz писал(а):
29.04.2024{, 18:41}
Вот бы 32х разрядную версию...
Нафига? :shok:

Serhio44
Рядовой
Сообщения: 14
Зарегистрирован: 12.10.2020{, 16:21}
Репутация: 0
Откуда: Шизино
Имя: Сергей

Тестирование версии 9.0.

#176

Сообщение Serhio44 » 30.04.2024{, 20:32}

А можно вернуть вход фазового сдвига в стандартном блоке микросхемы расширения PCA9685?
в версии 7.3.8. такое присутствует. В последующих версиях уже нет. А есть необходимость...

точнее на AVR работает, а на ESP нет
Последний раз редактировалось Serhio44 01.05.2024{, 13:36}, всего редактировалось 1 раз.

asvhmao
Рядовой
Сообщения: 10
Зарегистрирован: 15.03.2024{, 00:10}
Репутация: 4
Откуда: Краснодар
Имя: сергей

Тестирование версии 9.0.

#177

Сообщение asvhmao » 01.05.2024{, 03:41}

Ander писал(а):
29.04.2024{, 08:36}
Сохранение теперь внутри самих переменных.
Phazz писал(а):
29.04.2024{, 10:27}
Ardudue, как обычную переменную
В моём случае, просто вывод my_var соденить с переменной *EEPROM_Set* (записываем), а второй значёк переменной *EEPROM_Set* соединить с выводом Set (читаем) и всё?
А то пробовал переменную памяти EEPROM_Set (один значёк с разрешением записи, второй простой) соединять с переменными входа Set и выхода var, компилятор ардуины мне фигу показал.
3fqo5zz9go.jpg

asvhmao
Рядовой
Сообщения: 10
Зарегистрирован: 15.03.2024{, 00:10}
Репутация: 4
Откуда: Краснодар
Имя: сергей

Тестирование версии 9.0.

#178

Сообщение asvhmao » 01.05.2024{, 17:10}

Нипанятна.
Если просто делаю переменную, всё работает (соответственно пока питание есть). Когда ставлю галочку "сохранить в EEPROM", из кода эта переменная удаляется.
Сейчас снова скачиваю и обновлю программу, может с ней что нетак.
Хотя странно, на резисторе работало, на энкодере не хотит.
СпойлерПоказать

#include "flprogUtilites.h"
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include "STM32encoder.h"
LiquidCrystal_I2C _lcd1(0x27, 16, 2);
int _dispTempLength1=0;
boolean _isNeedClearDisp1;

bool en_enc;
int16_t Set;
bool en_Set;
int16_t Reset;
bool en_Reset;
int16_t pos_enc;
int16_t my_var;
bool Short_press;
bool Long_press;
STM32encoder enc(TIM2);
int16_t myVar= 0;
bool _gtv1;
bool _gtv2;
int16_t _gtv4 = 0;
int16_t _disp2oldLength = 0;
int16_t _disp1oldLength = 0;


void setup()
{


Wire.begin();
delay(10);
_lcd1.init();
_lcd1.backlight();
enc.bind(&myVar, 1, -20, 100);
enc.setButton(PA2);


}
void loop()
{


if (_isNeedClearDisp1) {_lcd1.clear(); _isNeedClearDisp1= 0;}





//Плата:1
en_enc = !(0);
Set = _gtv4;
en_Set = _gtv1;
Reset = 0;
en_Reset = 0;

if(en_enc) {
Short_press = 0;
Long_press = 0;

switch(enc.button()){
case BTN_EVT_CLICK:
Short_press = 1;
break;
case BTN_EVT_LONG:
Long_press = 1;
break;
}

if (en_Set) {
myVar = Set;
my_var = myVar;
}

if (en_Reset) {
myVar = Reset;
my_var = myVar;
}



if (enc.isUpdated())
{
pos_enc = enc.pos();
my_var = myVar;
}
}




_gtv2 = Long_press;
_gtv1 = Short_press;
if (_gtv2) {
_gtv4 = my_var;
}
if (!(0)) {
_dispTempLength1 = (((String(my_var, DEC)))).length();
if (_disp1oldLength > _dispTempLength1) {_isNeedClearDisp1 = 1;}
_disp1oldLength = _dispTempLength1;
_lcd1.setCursor(0, 0);
_lcd1.print(((String(my_var, DEC))));
} else {
if (_disp1oldLength > 0) {_isNeedClearDisp1 = 1; _disp1oldLength = 0;}
}
if (!(0)) {
_dispTempLength1 = (((String(_gtv4, DEC)))).length();
if (_disp2oldLength > _dispTempLength1) {_isNeedClearDisp1 = 1;}
_disp2oldLength = _dispTempLength1;
_lcd1.setCursor(0, 1);
_lcd1.print(((String(_gtv4, DEC))));
} else {
if (_disp2oldLength > 0) {_isNeedClearDisp1 = 1; _disp2oldLength = 0;}
}

}

СпойлерПоказать
#include "flprogUtilites.h"
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include "STM32encoder.h"
LiquidCrystal_I2C _lcd1(0x27, 16, 2);
int _dispTempLength1=0;
boolean _isNeedClearDisp1;
bool en_enc;
int16_t Set;
bool en_Set;
int16_t Reset;
bool en_Reset;
int16_t pos_enc;
int16_t my_var;
bool Short_press;
bool Long_press;
STM32encoder enc(TIM2);
int16_t myVar= 0;
bool _gtv1;
bool _gtv2;
int16_t _disp2oldLength = 0;
int16_t _disp1oldLength = 0;
void setup()
{
Wire.begin();
delay(10);
_lcd1.init();
_lcd1.backlight();
enc.bind(&myVar, 1, -20, 100);
enc.setButton(PA2);
}
void loop()
{
if (_isNeedClearDisp1) {_lcd1.clear(); _isNeedClearDisp1= 0;}
//Плата:1
en_enc = !(0);
Set = ;
en_Set = _gtv1;
Reset = 0;
en_Reset = 0;
if(en_enc) {
Short_press = 0;
Long_press = 0;

switch(enc.button()){
case BTN_EVT_CLICK:
Short_press = 1;
break;
case BTN_EVT_LONG:
Long_press = 1;
break;
}
if (en_Set) {
myVar = Set;
my_var = myVar;
}
if (en_Reset) {
myVar = Reset;
my_var = myVar;
}
if (enc.isUpdated())
{
pos_enc = enc.pos();
my_var = myVar;
}
}
_gtv2 = Long_press;
_gtv1 = Short_press;
if (_gtv2) {
}
if (!(0)) {
_dispTempLength1 = (((String(my_var, DEC)))).length();
if (_disp1oldLength > _dispTempLength1) {_isNeedClearDisp1 = 1;}
_disp1oldLength = _dispTempLength1;
_lcd1.setCursor(0, 0);
_lcd1.print(((String(my_var, DEC))));
} else {
if (_disp1oldLength > 0) {_isNeedClearDisp1 = 1; _disp1oldLength = 0;}
}
if (!(0)) {
_dispTempLength1 = (((String(, DEC)))).length();
if (_disp2oldLength > _dispTempLength1) {_isNeedClearDisp1 = 1;}
_disp2oldLength = _dispTempLength1;
_lcd1.setCursor(0, 1);
_lcd1.print(((String(, DEC))));
} else {
if (_disp2oldLength > 0) {_isNeedClearDisp1 = 1; _disp2oldLength = 0;}
}


}
Энкодер_001.flp
(830.54 КБ) 6 скачиваний
====================================================================================================

Скачал 9 программу, открыл прежний файл, снова фиг-вам (индейская народная изба).
Открыл проект с резистором, который исправный, собрал в нём, всё прекрасно заработало.
Собрал проект с ноля, тоже всё замечательно.
Делаю вывод - если что-то не так, то желательно проект собирать с чистого листа. Периодически нажимая "глазик", контролируя этим код.
СпойлерПоказать
#include "flprogUtilites.h"
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include "STM32encoder.h"
#include "flprogInternalEEPROM.h"
FLProgInternalEEPROM InternalEEPROM_41185707(3, 230);
LiquidCrystal_I2C _lcd1(0x27, 16, 2);
int _dispTempLength1=0;
boolean _isNeedClearDisp1;
bool en_enc;
int16_t Set;
bool en_Set;
int16_t Reset;
bool en_Reset;
int16_t pos_enc;
int16_t my_var;
bool Short_press;
bool Long_press;
STM32encoder enc(TIM2);
int16_t myVar= 0;
bool _gtv2;
int16_t _disp1oldLength = 0;
int16_t _disp2oldLength = 0;
void setup()
{
Wire.begin();
delay(10);
InternalEEPROM_41185707.setIntegerStartValue(1, 0);
InternalEEPROM_41185707.setSkippingEvents(0);
InternalEEPROM_41185707.begin();
_lcd1.init();
_lcd1.backlight();
enc.bind(&myVar, 1, -20, 100);
enc.setButton(PA2);
}
void loop()
{
InternalEEPROM_41185707.pool();
if (_isNeedClearDisp1)
{
_lcd1.clear();
_isNeedClearDisp1= 0;
}
//Плата:1
if (!(0))
{
_dispTempLength1 = (((String(((InternalEEPROM_41185707.readInteger(1))), DEC)))).length();
if (_disp2oldLength > _dispTempLength1)
{
_isNeedClearDisp1 = 1;
}
_disp2oldLength = _dispTempLength1;
_lcd1.setCursor(0, 1);
_lcd1.print(((String(((InternalEEPROM_41185707.readInteger(1))), DEC))));
}
else
{
if (_disp2oldLength > 0)
{
_isNeedClearDisp1 = 1;
_disp2oldLength = 0;
}
}
en_enc = !(0);
Set = ((InternalEEPROM_41185707.readInteger(1)));
en_Set = _gtv2;
Reset = 0;
en_Reset = 0;
if(en_enc)
{
Short_press = 0;
Long_press = 0;
switch(enc.button())
{
case BTN_EVT_CLICK:
Short_press = 1;
break;
case BTN_EVT_LONG:
Long_press = 1;
break;
}
if (en_Set)
{
myVar = Set;
my_var = myVar;
}
if (en_Reset)
{
myVar = Reset;
my_var = myVar;
}
if (enc.isUpdated())
{
pos_enc = enc.pos();
my_var = myVar;
}
}
_gtv2 = Short_press;
if (Long_press)
{
InternalEEPROM_41185707.saveInteger(1, ((my_var)));
}
if (!(0))
{
_dispTempLength1 = (((String(my_var, DEC)))).length();
if (_disp1oldLength > _dispTempLength1)
{
_isNeedClearDisp1 = 1;
}
_disp1oldLength = _dispTempLength1;
_lcd1.setCursor(0, 0);
_lcd1.print(((String(my_var, DEC))));
}
else
{
if (_disp1oldLength > 0)
{
_isNeedClearDisp1 = 1;
_disp1oldLength = 0;
}
}
}
Энкодер_004.flp
(810.29 КБ) 2 скачивания
Добавлю. ecoins прав, проект был создан в 9 версии, потом по игрался в 8 версии и продолжил снова в 9 версии. При создании проектов это надо учитывать.
Последний раз редактировалось asvhmao 02.05.2024{, 18:07}, всего редактировалось 1 раз.

ecoins
Полковник
Сообщения: 2962
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 455
Откуда: Шатура
Имя: Энвер

Тестирование версии 9.0.

#179

Сообщение ecoins » 02.05.2024{, 03:30}

asvhmao писал(а):
01.05.2024{, 17:10}
Делаю вывод - если что-то не так, то желательно проект собирать с чистого листа. Периодически нажимая "глазик", контролируя этим код.
Наблюдение точное, так и есть.
Разработчик вроде бы добавил возможность использования старых проектов - но это пока только тестируется.

tol123
Рядовой
Сообщения: 63
Зарегистрирован: 16.07.2021{, 11:34}
Репутация: 7
Имя: Anatoly

Тестирование версии 9.0.

#180

Сообщение tol123 » 02.05.2024{, 05:25}

Добавил библиотеку в пользовательский блок и в папки portable программы, librares, stm32 .. lib, вобщем везде, но пишет
ArduinoFFT.h: No such file or directory
в чем проблема не пойму. stm32 FFT.flp пример
Вложения
stm32 FFT.flp
(593.8 КБ) 3 скачивания

Ответить

Вернуться в «Темы от автора»