Блок пользователя CAN-Hacker

eraser19rus
Рядовой
Сообщения: 16
Зарегистрирован: 12.12.2016{, 07:32}
Репутация: 4
Откуда: Черногорск

Блок пользователя CAN-Hacker

#1

Сообщение eraser19rus » 01.04.2020{, 20:16}

Здравствуйте. Помогите а то нимагу как говорится. Решил я тут сделать пользовательский блок CAN-Hacker который позволяет использовать связку ардуино + MCP2515 в качестве интерфейса для программы CANHACKER. Скачал IDE новую и скопировал туда скетч. Скомпилировал и залил в ардуину. Проверил в связке с программой кан хакер все связывается и работает. В том числе принимает и передает данные. Беру этот же скетч и переношу в блок пользователя. Компилирую, открывается в ide, нажимаю компилировать уже там и посыпались ошибки. Причем ошибки по не объявленным переменным, и по библиотекам. Все библиотеки прописал и установил и объявил. Все равно не работает. Причем скетч который генерирует флпрог, полностью совпадает с исходником, за исключением уникальных идентификаторов. Неделю бился, так и не дал ладу. Еще хочу сказать что я взял сгенерированный скетч и вставил его в ide на котором все запускалось, и он тоже не пошел с теми же ошибками. Может тут кто хорошо делает блоки пользователей попробовать сделать блок из скетча? Если такой человек найдется я дам скетч для опытов. Помогите пожалуйста.

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

Блок пользователя CAN-Hacker

#2

Сообщение Ingwar » 01.04.2020{, 20:23}

eraser19rus писал(а):
01.04.2020{, 20:16}
Если такой человек найдется я дам скетч для опытов.
Если ищите помощи приватно, то Вам в раздел "Прием заказов". Если нет, то экстрасенсы на самоизоляции (тренд).
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

uglerod
Рядовой
Сообщения: 73
Зарегистрирован: 27.11.2016{, 18:32}
Репутация: 5

Блок пользователя CAN-Hacker

#3

Сообщение uglerod » 01.04.2020{, 20:45}

Выложите что есть. Посмотрим.

aidar_i
Полковник
Сообщения: 3122
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 674
Откуда: Уфа
Имя: Айдар
Контактная информация:

Блок пользователя CAN-Hacker

#4

Сообщение aidar_i » 01.04.2020{, 21:36}

eraser19rus писал(а):
01.04.2020{, 20:16}
за исключением уникальных идентификаторов.
Собака здесь зарыта!
Попробуйте поставить галочку Разрешено использовать в проекте один раз.

uglerod
Рядовой
Сообщения: 73
Зарегистрирован: 27.11.2016{, 18:32}
Репутация: 5

Блок пользователя CAN-Hacker

#5

Сообщение uglerod » 01.04.2020{, 21:49}

Ну вот и чудненько! Ну а на блок,что получилось, можно взглянуть?

eraser19rus
Рядовой
Сообщения: 16
Зарегистрирован: 12.12.2016{, 07:32}
Репутация: 4
Откуда: Черногорск

Блок пользователя CAN-Hacker

#6

Сообщение eraser19rus » 02.04.2020{, 06:01}

спасибо за готовность помочь, пока все блоки что не получались удалил, сегодня позже выложу сюда то что получилось.

Аватара пользователя
benic
Сержант
Сообщения: 175
Зарегистрирован: 07.01.2018{, 13:47}
Репутация: 4

Блок пользователя CAN-Hacker

#7

Сообщение benic » 02.04.2020{, 08:42}

Скетч или ссылка не помешает.

eraser19rus
Рядовой
Сообщения: 16
Зарегистрирован: 12.12.2016{, 07:32}
Репутация: 4
Откуда: Черногорск

Блок пользователя CAN-Hacker

#8

Сообщение eraser19rus » 02.04.2020{, 10:18}

вот рабочий скетч и в приложении библиотеки с которыми он работает

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

#include <can.h>
#include <mcp2515.h>

#include <CanHacker.h>
#include <CanHackerLineReader.h>
#include <lib.h>

#include <SPI.h>
#include <SoftwareSerial.h>

const int SPI_CS_PIN = 10;
const int INT_PIN = 2;

const int SS_RX_PIN = 3;
const int SS_TX_PIN = 4;

CanHackerLineReader *lineReader = NULL;
CanHacker *canHacker = NULL;

SoftwareSerial softwareSerial(SS_RX_PIN, SS_TX_PIN);

void setup() {
    Serial.begin(115200);
    while (!Serial);
    SPI.begin();
    softwareSerial.begin(115200);

    Stream *interfaceStream = &Serial;
    Stream *debugStream = &softwareSerial;
    
    
    canHacker = new CanHacker(interfaceStream, debugStream, SPI_CS_PIN);
    //canHacker->enableLoopback(); // uncomment this for loopback
    lineReader = new CanHackerLineReader(canHacker);

    pinMode(INT_PIN, INPUT);
}

void loop() {
    CanHacker::ERROR error;
  
    if (digitalRead(INT_PIN) == LOW) {
        error = canHacker->processInterrupt();
        handleError(error);
    }

    error = lineReader->process();
    handleError(error);
}

void handleError(const CanHacker::ERROR error) {

    switch (error) {
        case CanHacker::ERROR_OK:
        case CanHacker::ERROR_UNKNOWN_COMMAND:
        case CanHacker::ERROR_NOT_CONNECTED:
        case CanHacker::ERROR_MCP2515_ERRIF:
        case CanHacker::ERROR_INVALID_COMMAND:
            return;

        default:
            break;
    }
  
    softwareSerial.print("Failure (code ");
    softwareSerial.print((int)error);
    softwareSerial.println(")");

    digitalWrite(SPI_CS_PIN, HIGH);
    pinMode(LED_BUILTIN, OUTPUT);
  
    while (1) {
        int c = (int)error;
        for (int i=0; i<c; i++) {
            digitalWrite(LED_BUILTIN, HIGH);
            delay(500);
            digitalWrite(LED_BUILTIN, LOW);
            delay(500);
        }
        
        delay(2000);
    } ;
}
Отправлено спустя 6 минут 24 секунды:
в IDE flprog есть своя библиотека mcp2515 причем она модифицированная походу Глушенко. Возможно кстати из-за этого тоже косяки вылазят. Не знаю стоит ли опять делать то же самое что я делал и выкладывать здесь. Просто уверен что вам это мало что даст, просто увидите что не работает сгенерированный скетч
Вложения
arduino-mcp2515-master.zip
(248.75 КБ) 72 скачивания
arduino-canhacker-master.zip
(21.22 КБ) 67 скачиваний

Аватара пользователя
benic
Сержант
Сообщения: 175
Зарегистрирован: 07.01.2018{, 13:47}
Репутация: 4

Блок пользователя CAN-Hacker

#9

Сообщение benic » 02.04.2020{, 15:55}

В библах надо шерудить. Осмелюсь спросить а блок зачем если работает устройство?
Вот описывает человек по сути:
https://habr.com/ru/post/256493/

eraser19rus
Рядовой
Сообщения: 16
Зарегистрирован: 12.12.2016{, 07:32}
Репутация: 4
Откуда: Черногорск

Блок пользователя CAN-Hacker

#10

Сообщение eraser19rus » 02.04.2020{, 16:17}

benic писал(а):
02.04.2020{, 15:55}
В библах надо шерудить. Осмелюсь спросить а блок зачем если работает устройство?
На такой вопрос зачем ответить сложно. Но попробую объяснить. Вот смотрите: наш уважаемый автор программы сделал блоки для работы с mcp2515 и теперь все могут применять их в своих проектах, хорошо? Конечно хорошо. Но для того чтобы проанализировать что происходит в шине нужен инструмент типа канхакера. Но чтобы получить этот инструмент нужно реально заморочится. Отыскать скетч, библиотеки, причем библиотеку надо еще и поправить, так как по умолчанию она работает с модулем на 16 мгц. А ведь пока я искал в библиотеках что поправить, смотрел инет и там люди не найдя что поправить тупо перепаивали кварц на 16 мгц, хотя надо было просто поменять одно число на другое в библиотеке. И вот сделав это все, вы наконец получаете результат. А теперь представьте, что у вас в флпрог рядом с блоками читать и писать в шину кан, лежит готовый блок, разместив который и в настройках выбрав кварц который у вас в модуле и пару пинов CS и INT, и залив это в ардуину вы получаете готовый интерфейс для работы с программой кан хакер. И после того как вы проанализировав шину и найдя и протестировав там нужные вам данные и ид, вы не выходя из флпрога просто жмакнув в соседнее окно, правите ваш скетч и заливаете в ардуину. Удобно? Хорошо? Нет так нам не надо. Это мы будем делать в флпроге, а вот это в другой программе, потому что уже готовое же есть, зачем напрягаться. Так если рассуждать, так зачем тогда вообще флпрог вам сдался? Пишите все на си, все же есть уже готовое.

Отправлено спустя 6 минут 39 секунд:
в библиотеках надо шерудить это факт. Ведь Глушенко перешерудил библиотеки mcp2515 и теперь можно не морочиться какой кварц стоит на модуле, а выбрать в настройках блока. Это очень удобно. Только вот не программист я, и мне не хватает знаний как их перешурудить чтобы создать свой блок, поправить что в библиотках. Поэтому я и написал сюда. Не себе мне этот блок надо, у меня есть канхакер и заводской и из аврдуины. Но за проект ратую. Чтобы людям удобно было пользоваться флпрогом.

Отправлено спустя 3 минуты 59 секунд:
Я думаю тут есть люди, для которых это задача не сложная. Просто не было интереса чтоли, или надобности. Но если есть человек который сможет создать такой блок и в последствии автор программы занесет его в дерево блоков стандартных, было бы очень не плохо. Извините если резковато тут написал. Просто не нравятся мне такие вопросы по типу нафига делать тут, если есть там. Чтобы было.... :)

Аватара пользователя
benic
Сержант
Сообщения: 175
Зарегистрирован: 07.01.2018{, 13:47}
Репутация: 4

Блок пользователя CAN-Hacker

#11

Сообщение benic » 03.04.2020{, 08:35}

eraser19rus писал(а):
01.04.2020{, 20:16}
Скачал IDE новую и скопировал туда скетч.
Попробуй все с начала работая с IDE расположенной в папке FLProg, не запуская FLprog.
Не те библы там в папке FLprog.

aidar_i
Полковник
Сообщения: 3122
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 674
Откуда: Уфа
Имя: Айдар
Контактная информация:

Блок пользователя CAN-Hacker

#12

Сообщение aidar_i » 03.04.2020{, 10:06}

Испытайте
canhacker.flp
(36.41 КБ) 68 скачиваний
Если нормально, оформите и создайте тему в ПБ.

Попробуйте блок с установкой частоты в параметрах
canhacker1.flp
(39.61 КБ) 81 скачивание
Частота в библиотеке задается здесь
СпойлерПоказать
Безымянный.png
Свои блоки, которые не работают, все равно нужно выкладывать! Так можно быстрее Вам помочь!Проще мне подправить, чем сидеть и создавать блок, тратить лишнее время. Ладно сейчас его многовато.

eraser19rus
Рядовой
Сообщения: 16
Зарегистрирован: 12.12.2016{, 07:32}
Репутация: 4
Откуда: Черногорск

Блок пользователя CAN-Hacker

#13

Сообщение eraser19rus » 03.04.2020{, 12:03}

aidar_i писал(а):
03.04.2020{, 10:06}
Испытайте
canhacker.flp
(36.41 КБ) 1 скачивание
Если нормально, оформите и создайте тему в ПБ.
Спасибо большое! Человек с большой буквы! Я как доберусь до работы (модуль mcp2515 у меня на работе лежит) Протестирую в железе и отпишусь. Спасибо еще раз за помощь.

aidar_i
Полковник
Сообщения: 3122
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 674
Откуда: Уфа
Имя: Айдар
Контактная информация:

Блок пользователя CAN-Hacker

#14

Сообщение aidar_i » 03.04.2020{, 22:05}

По просьбе eraser19rus выкладываю видео
Последний раз редактировалось aidar_i 04.04.2020{, 20:27}, всего редактировалось 1 раз.

eraser19rus
Рядовой
Сообщения: 16
Зарегистрирован: 12.12.2016{, 07:32}
Репутация: 4
Откуда: Черногорск

Блок пользователя CAN-Hacker

#15

Сообщение eraser19rus » 04.04.2020{, 14:32}

aidar_i писал(а):
03.04.2020{, 22:05}
По просьбе eraser19rus выкладываю видео 1 и видео2
Всем кто не понимает как делать блоки самому, очень советую посмотреть эти видео. Реально понял как делать блок. Респект Айдару. Тем более он обещал еще звук приклеить.

aidar_i
Полковник
Сообщения: 3122
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 674
Откуда: Уфа
Имя: Айдар
Контактная информация:

Блок пользователя CAN-Hacker

#16

Сообщение aidar_i » 04.04.2020{, 20:28}

eraser19rus писал(а):
04.04.2020{, 14:32}
Тем более он обещал еще звук приклеить.
Склеил см. выше.

eraser19rus
Рядовой
Сообщения: 16
Зарегистрирован: 12.12.2016{, 07:32}
Репутация: 4
Откуда: Черногорск

Блок пользователя CAN-Hacker

#17

Сообщение eraser19rus » 07.04.2020{, 07:38}

Привет всем. Мы совместно с aidar_i доработали и проверили блок канхакер в железе. Все прекрасно работает. Как подключать и настраивать модуль mcp2515 написано в описании блока.
Вложения
CANHacker.flp
(718.46 КБ) 107 скачиваний

eraser19rus
Рядовой
Сообщения: 16
Зарегистрирован: 12.12.2016{, 07:32}
Репутация: 4
Откуда: Черногорск

Блок пользователя CAN-Hacker

#18

Сообщение eraser19rus » 07.04.2020{, 20:55}

ссылка на тему в блоки пользователей viewtopic.php?f=71&t=6337

0911cd
Рядовой
Сообщения: 7
Зарегистрирован: 27.04.2020{, 18:04}
Репутация: 0
Имя: Valentin

Блок пользователя CAN-Hacker

#19

Сообщение 0911cd » 06.12.2020{, 09:37}

Здравствуйте. Не могли бы помочь создать пользовательский блок?

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Блок пользователя CAN-Hacker

#20

Сообщение Dryundel » 06.12.2020{, 09:57}

0911cd писал(а):
06.12.2020{, 09:37}
Здравствуйте. Не могли бы помочь создать пользовательский блок?
Да, конечно, безусловно!
Вам ведь нужен блок CANHacker? Их есть у меня.
Но вероятно Вам требуется сканировать CAN-шину приобретенного по дешевке, списанного космического аппарата "Буран-М".
Уже начал работать.
Куда прислать ПБ?

Ответить

Вернуться в «Помогите, а то я "нимагу"»