Редактирование библиотеки

На этом форуме Вы можете задать вопросы знатокам программы и автору.
Naladchik
Капитан
Сообщения: 823
Зарегистрирован: 04.10.2015{, 19:10}
Репутация: 153
Откуда: Новосибирск
Имя: Павел

Редактирование библиотеки

#21

Сообщение Naladchik » 17.11.2021{, 12:08}

Ingwar писал(а):
17.11.2021{, 11:49}
...но я понял, что Саша предложил...
Значит Вы слишком критично к себе относитесь и Вы уже не "слабо разбирающийся" а "посредственно".
Win10-64. FLProg Portable.
Изображение

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Редактирование библиотеки

#22

Сообщение Ingwar » 17.11.2021{, 12:17}

Naladchik писал(а):
17.11.2021{, 12:08}
Значит Вы слишком критично к себе относитесь
Может быть, но "посредственность" как то не благозвучно... и я пожалуй продолжу прикидываться " ̶с̶л̶а̶б̶о̶у̶ слабо разбирающимся" :smile38:
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Редактирование библиотеки

#23

Сообщение Sancho » 17.11.2021{, 12:21}

Ingwar, Тести, я не пробовал вообще.

Отправлено спустя 2 минуты 6 секунд:
Переименуй, _01 лишние, для отличия.
Возможно, будет ругаться, т.к я по привычке описал как uint8_t, заменить на int, или наоборот по причине, описанной здесь, стр.134.
Вложения
src_ingwar.rar
(7.8 КБ) 26 скачиваний
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Редактирование библиотеки

#24

Сообщение Ingwar » 17.11.2021{, 12:24}

Sancho писал(а):
17.11.2021{, 12:21}
Тести, я не пробовал вообще.
Сегодня обязательно, но сейчас пойду подремлю после ночных "поисков".
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

Редактирование библиотеки

#25

Сообщение AlexCrane » 17.11.2021{, 13:36}

Ingwar, Ну все теперь будем сами библы писать :smile171:
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Редактирование библиотеки

#26

Сообщение Ingwar » 17.11.2021{, 19:37}

Sancho,
"юниты" не прокатили, поменял на "инты", но все равно ругается )

Код: Выделить всё

d:\PortableFLProg_7-3-8_Win64\ideV7\libraries\ProtoCentral_ads1262-master\src\ads1262_old.cpp:41:6: error: prototype for 'void ads1262::ads1262_Init()' does not match any in class 'ads1262'
 void ads1262::ads1262_Init()
      ^~~~~~~
In file included from d:\PortableFLProg_7-3-8_Win64\ideV7\libraries\ProtoCentral_ads1262-master\src\ads1262_old.cpp:23:0:
d:\PortableFLProg_7-3-8_Win64\ideV7\libraries\ProtoCentral_ads1262-master\src/ads1262.h:83:17: error: candidate is: static void ads1262::ads1262_Init(int, int, int, int)
     static void ads1262_Init(int _DRDY, int _CS, int _START, int _PWD);
                 ^~~~~~~~~~~~
d:\PortableFLProg_7-3-8_Win64\ideV7\libraries\ProtoCentral_ads1262-master\src\ads1262_old.cpp: In static member function 'static void ads1262::ads1262_SPI_Command_Data(unsigned char)':
d:\PortableFLProg_7-3-8_Win64\ideV7\libraries\ProtoCentral_ads1262-master\src\ads1262_old.cpp:165:8: warning: unused variable 'data' [-Wunused-variable]
   byte data[1];
        ^~~~
d:\PortableFLProg_7-3-8_Win64\ideV7\libraries\ProtoCentral_ads1262-master\src\ads1262.cpp: In static member function 'static void ads1262::ads1262_SPI_Command_Data(unsigned char)':
d:\PortableFLProg_7-3-8_Win64\ideV7\libraries\ProtoCentral_ads1262-master\src\ads1262.cpp:174:8: warning: unused variable 'data' [-Wunused-variable]
   byte data[1];
        ^~~~
Ну эт ладно, в конце концов это не тот случай, когда ппц нужно.
У меня еще есть другой вопрос. Сразу каюсь - предварительно не искал/не читал. Поправь если я не прав. У нас есть АЦП c закороченным диф. входом и абстрактные значения мы получаем на выходе. Если эти значения вычесть от нуля, а потом результат сложить со значениями на выходе (чтобы получить "опорный" ноль), то дрейф от нуля будет собственным шумом АЦП и схемотехники в целом. И если описать этот десятичный дрейф в двоичном виде, мы получим некое число разрядов, в которые влезают эти шумы. И отняв эти разряды из заявленного разрешения производителем, мы получаем эффективные разряды, которые можем принимать как действительные для измеряемого сигнала? Фух...

Отправлено спустя 1 минуту 13 секунд:
AlexCrane писал(а):
17.11.2021{, 13:36}
Ну все теперь будем сами библы писать
Как говорят - когда прижмет и не так раскорячишся :smile171:
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

Редактирование библиотеки

#27

Сообщение AlexCrane » 17.11.2021{, 22:39}

Ingwar, Попробуй такой блок на другой библиотеке. Пока работает только базовый функционал (запуск и чтение ADC1). Если пойдет можно будет доделать.
Вложения
ADS126X тест.flp
(541.33 КБ) 25 скачиваний
ADS126X.zip
(18.44 КБ) 23 скачивания
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Редактирование библиотеки

#28

Сообщение Ingwar » 18.11.2021{, 00:05}

AlexCrane писал(а):
17.11.2021{, 22:39}
Попробуй такой блок на другой библиотеке.
Да, бибка горааааздо интересней по возможностям и я ее уже пробовал, когда купил микрухи. Но сходу она не "взлетела"...
Сейчас, только копнув глубже я понял почему. Она походу под конкретную плату делалась и в ней нет управления сбросом и стартом (ножки ацп).
Сейчас же, прописав пины дополнительно, я запустил сначала пример, а потом и Ваш блочек :yahoo:
Блок по предполагаемым возможностям круче гораздо. Осталось разобраться есть ли в нем возможность включения внутреннего фильтра...
Спасибо огромное!
Скиньте в личку номер телефона.

Отправлено спустя 11 минут 27 секунд:
Для ацп есть еще бибка от производителя. Но скачать ее смог только после регистрации и согласии, что не буду использовать ее для создания оружия и вообще ничего против США не замышляю)

Отправлено спустя 34 секунды:
Но она сука под HAL...
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

Редактирование библиотеки

#29

Сообщение AlexCrane » 18.11.2021{, 06:53}

Ingwar, Да фильтра есть, пришлось плюсом искурить даташит еще... Вот думаю, может большинство параметров запрятать в параметры...
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Редактирование библиотеки

#30

Сообщение Sancho » 18.11.2021{, 08:55}

Ingwar писал(а):
17.11.2021{, 19:38}
"юниты" не прокатили, поменял на "инты", но все равно ругается )
Можно сам .ino для теста?
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Редактирование библиотеки

#31

Сообщение Ingwar » 18.11.2021{, 12:45}

Sancho писал(а):
18.11.2021{, 08:55}
Можно сам .ino для теста?
Всегда пожалуйста
СпойлерПоказать

Код: Выделить всё

#include <ads1262.h>
#include <SPI.h>
#include <math.h>
long out;
#define PGA 1  // Programmable Gain = 1
#define VREF 2.50  // Internal reference of 2.048V
#define VFSR VREF/PGA
#define FSR (((long int)1<<23)-1)
ads1262 PC_ADS1262; // class
float volt_V=0;
float volt_mV=0;
volatile int i;
volatile char SPI_RX_Buff[10];
volatile long ads1262_rx_Data[10];
volatile static int SPI_RX_Buff_Count= 0;
volatile char *SPI_RX_Buff_Ptr;
volatile int Responsebyte= false;
volatile signed long sads1262Count= 0;
volatile signed long uads1262Count=0;
double resolution;
long _stou1;
void setup()
{
    Serial.begin(115200, SERIAL_8N1);
    // Serial.begin(9600);
      PC_ADS1262.ads1262_Init(25 , 10 , 9 , 2); // initialise ads1262
      // Serial.println("ads1262 Initialised successfully....");
}
void loop()
{
    //Плата:1
      volatile int i,data;
    if((digitalRead(ADS1262_DRDY_PIN)) == LOW)                // monitor Data ready(DRDY pin)
    {
        SPI_RX_Buff_Ptr = PC_ADS1262.ads1262_Read_Data(); // read 6 bytes conversion register
            Responsebyte = true ;
    }
    if(Responsebyte == true)
    {
        for(i = 0; i <5; i++)
        {
            SPI_RX_Buff[SPI_RX_Buff_Count++] = *(SPI_RX_Buff_Ptr + i);
        }
        Responsebyte = false;
    }
    if(SPI_RX_Buff_Count >= 5)
    {
        ads1262_rx_Data[0]= (unsigned char)SPI_RX_Buff[1]; // read 4 bytes adc count
            ads1262_rx_Data[1]= (unsigned char)SPI_RX_Buff[2];
        ads1262_rx_Data[2]= (unsigned char)SPI_RX_Buff[3];
        ads1262_rx_Data[3]= (unsigned char)SPI_RX_Buff[4];
        uads1262Count = (signed long) (((unsigned long)ads1262_rx_Data[0]<<24)|((unsigned long)ads1262_rx_Data[1]<<16)|(ads1262_rx_Data[2]<<8)|ads1262_rx_Data[3]); //get the raw 32-bit adc count out by shifting
            sads1262Count = (signed long) (uads1262Count); // get signed value
            resolution = (double)((double)VREF/pow(2,31)); //resolution= Vref/(2^n-1) , Vref=2.5, n=no of bits
            volt_V      = (resolution)*(float)sads1262Count; // voltage = resolution * adc count
            volt_mV   =   volt_V*1000; // voltage in mV
    }
    out=sads1262Count;
    SPI_RX_Buff_Count = 0;
    if (1)
    {
        if(!((out)==(_stou1)))
        {
            Serial.println(out);
        }
    }
     _stou1 = out;
}
float mapfloat(float x, float in_min, float in_max, float out_min, float out_max)
{
    return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
}
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

Редактирование библиотеки

#32

Сообщение AlexCrane » 18.11.2021{, 19:59}

Ingwar, Пока так, весь вроде функционал библиотеки
ADS126X тест.flp
(2.56 МБ) 35 скачиваний
ADS126X_(Code_-_Professional).ubi
(1.23 МБ) 29 скачиваний
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Редактирование библиотеки

#33

Сообщение Ingwar » 18.11.2021{, 21:46}

AlexCrane писал(а):
18.11.2021{, 19:59}
Пока так, весь вроде функционал библиотеки
Жесть...
Не зря говорят - бойтесь своих желаний :crazy:
Теперь на изучение уйдет туева хуча времени :smile114:
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

Редактирование библиотеки

#34

Сообщение AlexCrane » 18.11.2021{, 22:28}

Ingwar, Я думаю быстро разберетесь. Вроде ничего сложного (ну если даташит перед глазами). Функции калибровок не добавлял. Если очень нужны, то добавлю.
А для чего Вам нужен вход Start на микрухе?
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Редактирование библиотеки

#35

Сообщение Ingwar » 18.11.2021{, 22:52}

AlexCrane писал(а):
18.11.2021{, 22:28}
А для чего Вам нужен вход Start на микрухе?
Да просто уже распаяна макетка)
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

Аватара пользователя
Di123
Капитан
Сообщения: 828
Зарегистрирован: 03.11.2018{, 19:38}
Репутация: 29
Имя: Дмитрий

Редактирование библиотеки

#36

Сообщение Di123 » 21.03.2022{, 11:44}

AlexCrane,
ахренеть блок
а есть что нибудь для людей ?

как это всё разгрести теперь
старт это типо En тока с тригером ?
стоп это типо тот же тригер тока сброс его ?

а где десять выходов собраных сигналов ?

Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

Редактирование библиотеки

#37

Сообщение AlexCrane » 21.03.2022{, 13:20}

Di123 писал(а):
21.03.2022{, 11:44}
как это всё разгрести теперь
Читать даташит
Di123 писал(а):
21.03.2022{, 11:44}
старт это типо En тока с тригером ?
стоп это типо тот же тригер тока сброс его ?
Да через RTrig запуск и остановка (привет Dryundel)
Di123 писал(а):
21.03.2022{, 11:44}
а где десять выходов собраных сигналов ?
На выходе OUT значения с входов Pos pin и Neg pin

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

Аватара пользователя
Di123
Капитан
Сообщения: 828
Зарегистрирован: 03.11.2018{, 19:38}
Репутация: 29
Имя: Дмитрий

Редактирование библиотеки

#38

Сообщение Di123 » 21.03.2022{, 13:58}

AlexCrane, а цыфровой фильтр sinc и FIR под чем замаскированы ?

надоело бороться с еспишной кривой ацп с обычными термисторами погрешность в 4 градуса
перемаштабировал на АДС1115 показывает идеально как дэски там с отклонением в 0,2 гр
но на 6 датчиков надо две 1115 а они дороже чем 1262 притом что разница между ними колосальная

Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

Редактирование библиотеки

#39

Сообщение AlexCrane » 21.03.2022{, 14:57}

Di123 писал(а):
21.03.2022{, 13:58}
AlexCrane, а цыфровой фильтр sinc и FIR под чем замаскированы ?
setFilter

Из даташита (нужно перевести в dec)
000 = sinc1
001 = sinc2
010 = sinc3
011 = sinc4
100 = FIR
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

Аватара пользователя
Di123
Капитан
Сообщения: 828
Зарегистрирован: 03.11.2018{, 19:38}
Репутация: 29
Имя: Дмитрий

Редактирование библиотеки

#40

Сообщение Di123 » 21.03.2022{, 15:06}

а как их подать на вход ?
три нуля нельзя прописать они воспринимаются одним нулём допустим

Ответить

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