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

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

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

Сообщение lufthaus »

Здравствуйте, при попытки подключения Raspberry Pi Pico W через встроенный модуль, WIFI не работает ни режиме точки доступа, ни в режиме клиента (пробовал и с вытащенным блоком о состоянии сети), при этом прошивка загружается, но плата зависает и определяется как неизвестное устройство , помогает только перезагрузка с нажатой кнопкой boot, после этого можно заново загружать прошивки.
Так же пробовал вывести в комп-порт температуру с встроенного датичка, он же на одном из 4-х аналоговых входов находится, со всех четырех входов выводятся нули. При загрузке примера из интернета температура в комп порт выводится. На плате предусмотрен Bluetooth, но пока не реализован в программе.
Спасибо за развитие программы и что добавляете поддержку новых плат.
ecoins
Полковник
Сообщения: 4005
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 152 раза

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

Сообщение ecoins »

lufthaus писал(а): 26 апр 2024, 21:48 Здравствуйте, при попытки подключения Raspberry Pi Pico W через встроенный модуль,
Дополнительно можно посмотреть здесь
viewtopic.php?f=247&t=8171
lufthaus
Рядовой
Сообщения: 3
Зарегистрирован: 09 апр 2022, 15:57
Имя: Алексей

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

Сообщение lufthaus »

ecoins писал(а): 27 апр 2024, 09:30
lufthaus писал(а): 26 апр 2024, 21:48 Здравствуйте, при попытки подключения Raspberry Pi Pico W через встроенный модуль,
Дополнительно можно посмотреть здесь
viewtopic.php?f=247&t=8171
Разобравшись более детально, оказалось, что я заказ под видом Raspberry Pi Pico W плату с другим wifi модулем на esp8285, а на оригинальной плате установлен модуль CYW43439, от это видимо и все проблемы.
Ardudue
Лейтенант
Сообщения: 418
Зарегистрирован: 13 апр 2020, 18:22
Имя: Антон
Поблагодарили: 3 раза

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

Сообщение Ardudue »

Нет блоков EEPROM?.... сохранить, читать из EEPROM.
Ander
Лейтенант
Сообщения: 514
Зарегистрирован: 31 окт 2023, 12:50
Имя: Андрей
Благодарил (а): 21 раз
Поблагодарили: 94 раза

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

Сообщение Ander »

Ardudue писал(а): 29 апр 2024, 06:08 Нет блоков EEPROM?.... сохранить, читать из EEPROM.
Сохранение теперь внутри самих переменных.
Ardudue
Лейтенант
Сообщения: 418
Зарегистрирован: 13 апр 2020, 18:22
Имя: Антон
Поблагодарили: 3 раза

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

Сообщение Ardudue »

Ander писал(а): 29 апр 2024, 08:36 Сохранение теперь внутри самих переменных.
а читать как?
Аватара пользователя
Phazz
Полковник
Сообщения: 3120
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 232 раза
Поблагодарили: 112 раз

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

Сообщение Phazz »

[ref]Ardudue[/ref], как обычную переменную
Ardudue
Лейтенант
Сообщения: 418
Зарегистрирован: 13 апр 2020, 18:22
Имя: Антон
Поблагодарили: 3 раза

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

Сообщение Ardudue »

ecoins
Полковник
Сообщения: 4005
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 152 раза

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

Сообщение ecoins »

Ardudue писал(а): 29 апр 2024, 12:20 возможно ли для ESP32 реализовать настройки диапазона аналогового входа?
Можете уточнить вопрос, более подробно?
С уважением, ecoins.
Ardudue
Лейтенант
Сообщения: 418
Зарегистрирован: 13 апр 2020, 18:22
Имя: Антон
Поблагодарили: 3 раза

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

Сообщение Ardudue »

ecoins писал(а): 29 апр 2024, 13:29 Можете уточнить вопрос, более подробно?
я же сслылку дал на тему...
AstroGraf писал(а): 28 мар 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
Полковник
Сообщения: 3120
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 232 раза
Поблагодарили: 112 раз

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

Сообщение Phazz »

А зачем это? Точность АЦП у есп32 и так не очень. А тут вообще будет никакая. Расширение диапазона решается двумя резисторами
ecoins
Полковник
Сообщения: 4005
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 152 раза

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

Сообщение ecoins »

Ardudue писал(а): 29 апр 2024, 13:56 Имеется ли в FlProg возможность менять эти настройки?
Пока нет.
Технически возможно.
Можно реализовать через пользовательский блок.
Неплохая альтернатива (там где это приемлемо) ADS1115 - 16 разрядов.
slsl
Сержант
Сообщения: 294
Зарегистрирован: 08 дек 2021, 22:41
Имя: Вячеслав
Благодарил (а): 15 раз
Поблагодарили: 46 раз

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

Сообщение slsl »

А когда ждать очередной подправленной бэтты?
Аватара пользователя
NordKavkaz
Сержант
Сообщения: 104
Зарегистрирован: 02 фев 2024, 15:19
Откуда: Георгиевск
Имя: Александр
Благодарил (а): 115 раз

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

Сообщение NordKavkaz »

Вот бы 32х разрядную версию...
Не откладывай на завтра то, что можно сделать послезавтра.
georgsp
Рядовой
Сообщения: 23
Зарегистрирован: 15 май 2021, 17:25
Имя: Георгий
Благодарил (а): 2 раза

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

Сообщение georgsp »

NordKavkaz писал(а): 29 апр 2024, 18:41 Вот бы 32х разрядную версию...
Нафига? :shok:
Serhio44
Рядовой
Сообщения: 22
Зарегистрирован: 12 окт 2020, 16:21
Откуда: Шизино
Имя: Сергей
Благодарил (а): 3 раза

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

Сообщение Serhio44 »

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

точнее на AVR работает, а на ESP нет
Последний раз редактировалось Serhio44 01 май 2024, 13:36, всего редактировалось 1 раз.
asvhmao
Рядовой
Сообщения: 19
Зарегистрирован: 15 мар 2024, 00:10
Откуда: Краснодар
Имя: сергей

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

Сообщение asvhmao »

Ander писал(а): 29 апр 2024, 08:36 Сохранение теперь внутри самих переменных.
Phazz писал(а): 29 апр 2024, 10:27 [ref]Ardudue[/ref], как обычную переменную
В моём случае, просто вывод my_var соденить с переменной *EEPROM_Set* (записываем), а второй значёк переменной *EEPROM_Set* соединить с выводом Set (читаем) и всё?
А то пробовал переменную памяти EEPROM_Set (один значёк с разрешением записи, второй простой) соединять с переменными входа Set и выхода var, компилятор ардуины мне фигу показал.
3fqo5zz9go.jpg
У вас нет необходимых прав для просмотра вложений в этом сообщении.
asvhmao
Рядовой
Сообщения: 19
Зарегистрирован: 15 мар 2024, 00:10
Откуда: Краснодар
Имя: сергей

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

Сообщение asvhmao »

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

[spoiler]

#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;}
}

}


[/spoiler]

[spoiler]#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;}
}


}
[/spoiler]
Энкодер_001.flp
====================================================================================================

Скачал 9 программу, открыл прежний файл, снова фиг-вам (индейская народная изба).
Открыл проект с резистором, который исправный, собрал в нём, всё прекрасно заработало.
Собрал проект с ноля, тоже всё замечательно.
Делаю вывод - если что-то не так, то желательно проект собирать с чистого листа. Периодически нажимая "глазик", контролируя этим код.

[spoiler]#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;
}
}
}[/spoiler]
Энкодер_004.flp
Добавлю. ecoins прав, проект был создан в 9 версии, потом по игрался в 8 версии и продолжил снова в 9 версии. При создании проектов это надо учитывать.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось asvhmao 02 май 2024, 18:07, всего редактировалось 1 раз.
ecoins
Полковник
Сообщения: 4005
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 152 раза

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

Сообщение ecoins »

asvhmao писал(а): 01 май 2024, 17:10 Делаю вывод - если что-то не так, то желательно проект собирать с чистого листа. Периодически нажимая "глазик", контролируя этим код.
Наблюдение точное, так и есть.
Разработчик вроде бы добавил возможность использования старых проектов - но это пока только тестируется.
Mazur
Рядовой
Сообщения: 71
Зарегистрирован: 31 авг 2023, 13:43
Имя: Денис

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

Сообщение Mazur »

а как подключится к своей странице
пишит не получается получить доступ к странице
8266.flp
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Ответить

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

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость