Barcode Scanner

Создаем свой блок. Вопросы, помощь знатоков.
Naum
Рядовой
Сообщения: 39
Зарегистрирован: 14 сен 2015, 00:05

Barcode Scanner

Сообщение Naum »

нужна помощь засунуть код в пользовательский блок
на выходе должна быть строка считаная баркодом и импульс обновления коротковременая идиница
код который посылает на сом работает
библиотека: https://github.com/felis/USB_Host_Shield_2.0
USB_Host_Shield_2.0-master
Железа : USB Host Shield 2.0 for Arduino

пример
https://github.com/felis/USB_Host_Shield_2.0/issues/323

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

#include <usbhid.h>
#include <usbhub.h>
#include <hiduniversal.h>
#include <hidboot.h>
#include <SPI.h>

class MyParser : public HIDReportParser {
  public:
    MyParser();
    void Parse(USBHID *hid, bool is_rpt_id, uint8_t len, uint8_t *buf);
  protected:
    uint8_t KeyToAscii(bool upper, uint8_t mod, uint8_t key);
    virtual void OnKeyScanned(bool upper, uint8_t mod, uint8_t key);
    virtual void OnScanFinished();
};

MyParser::MyParser() {}

void MyParser::Parse(USBHID *hid, bool is_rpt_id, uint8_t len, uint8_t *buf) {
  // If error or empty, return
  if (buf[2] == 1 || buf[2] == 0) return;

  for (uint8_t i = 7; i >= 2; i--) {
    // If empty, skip
    if (buf[i] == 0) continue;

    // If enter signal emitted, scan finished
    if (buf[i] == UHS_HID_BOOT_KEY_ENTER) {
      OnScanFinished();
    }

    // If not, continue normally
    else {
      // If bit position not in 2, it's uppercase words
      OnKeyScanned(i > 2, buf, buf[i]);
    }

    return;
  }
}

uint8_t MyParser::KeyToAscii(bool upper, uint8_t mod, uint8_t key) {
  // Letters
  if (VALUE_WITHIN(key, 0x04, 0x1d)) {
    if (upper) return (key - 4 + 'A');
    else return (key - 4 + 'a');
  }

  // Numbers
  else if (VALUE_WITHIN(key, 0x1e, 0x27)) {
    return ((key == UHS_HID_BOOT_KEY_ZERO) ? '0' : key - 0x1e + '1');
  }

  return 0;
}

void MyParser::OnKeyScanned(bool upper, uint8_t mod, uint8_t key) {
  uint8_t ascii = KeyToAscii(upper, mod, key);
  Serial.print((char)ascii);
}

void MyParser::OnScanFinished() {
  Serial.println(" - Finished");
}

USB          Usb;
USBHub       Hub(&Usb);
HIDUniversal Hid(&Usb);
MyParser     Parser;

void setup() {
  Serial.begin( 115200 );
  Serial.println("Start");

  if (Usb.Init() == -1) {
    Serial.println("OSC did not start.");
  }

  delay( 200 );

  Hid.SetReportParser(0, &Parser);
}

void loop() {
  Usb.Task();
}
У вас нет необходимых прав для просмотра вложений в этом сообщении.
noahi77
Рядовой
Сообщения: 11
Зарегистрирован: 12 сен 2016, 11:53
Откуда: Москва

Barcode Scanner

Сообщение noahi77 »

Здравствуйте.
Тоже очень интересует данная тема. И её реализация. Не плохо было бы разобраться с ней.
Был бы благодарен за любую информацию по бар коду. Спасибо.
pan
Полковник
Сообщения: 2860
Зарегистрирован: 13 апр 2017, 11:57
Имя: noname

Barcode Scanner

Сообщение pan »

проверь
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Naum
Рядовой
Сообщения: 39
Зарегистрирован: 14 сен 2015, 00:05

Barcode Scanner

Сообщение Naum »

спасибо большое за помощь.
При компиляции ругается на библиотеку.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
pan
Полковник
Сообщения: 2860
Зарегистрирован: 13 апр 2017, 11:57
Имя: noname

Barcode Scanner

Сообщение pan »

[ref]Naum[/ref], :smile390: Сколько по граблям ходить будем?
в настройках какая IDE ? внешняя? тогда запускайте флпрог от имени администратора.
либо переключите на на ту, что в комплекте.
Naum
Рядовой
Сообщения: 39
Зарегистрирован: 14 сен 2015, 00:05

Barcode Scanner

Сообщение Naum »

очень извиняюсь не получается.
Требует библиотеку. может действительно что то с настройками. есле можно послать библеотеку бкду очень блоодарен. за ранее спасибо.
EgorKa
Сержант
Сообщения: 217
Зарегистрирован: 09 мар 2019, 17:49
Имя: Egor

Barcode Scanner

Сообщение EgorKa »

[ref=#ff8000]pan[/ref], блок не компилируется
d:\FLProg_5-2_Portable_Win64\ideV2\libraries\barcode/barcode.h:4:20: fatal error: usbhid.h: No such file or directory

compilation terminated.

Библиотека присутствует в Вашем блоке?
Аватара пользователя
Ivan_Kornege
Лейтенант
Сообщения: 338
Зарегистрирован: 29 апр 2017, 08:24
Откуда: гАндурас
Имя: Ivan

Barcode Scanner

Сообщение Ivan_Kornege »

Не компилируется потому што тут от нищеты нашей решили не запихивать библы в блоки.
Места на дисках мало, с библой весят много.
некоторые вон вообще ХР до сих пор юзают.
Даже сюда не заливается болше 3 мегов весит.
Вот приклячил в блок библу USB_Host_Shield_2.0-master у меня скомпилировался код.
Блок флпрог 5 версия
Barcode_1_(CODE).rar
У вас нет необходимых прав для просмотра вложений в этом сообщении.
pan
Полковник
Сообщения: 2860
Зарегистрирован: 13 апр 2017, 11:57
Имя: noname

Barcode Scanner

Сообщение pan »

[ref]EgorKa[/ref], первый пост читали? трудно отдельно библиотеку скачать? конечно НЕ присутствует, и об этом прямо в ошибке компиляции написано.
Ivan_Kornege писал(а): 11 июн 2019, 06:10 Не компилируется потому што тут от нищеты нашей решили не запихивать библы в блоки.
а на какой её туда пихать. потом удивляются почему флпрог тормозит..
Naum
Рядовой
Сообщения: 39
Зарегистрирован: 14 сен 2015, 00:05

Barcode Scanner

Сообщение Naum »

перепробовал все что смог
WIN 7
WIN 10
разные версии программы
требует этот файл
"barcode.h"
если можно help (F1).
Аватара пользователя
Ivan_Kornege
Лейтенант
Сообщения: 338
Зарегистрирован: 29 апр 2017, 08:24
Откуда: гАндурас
Имя: Ivan

Barcode Scanner

Сообщение Ivan_Kornege »

pan писал(а): 11 июн 2019, 08:36 а на какой её туда пихать. потом удивляются почему флпрог тормозит..
я и говорю от нищеты и тормозит. У кого процессор мощнй то нет проблем. Но таких здесь мало.
Naum писал(а): 11 июн 2019, 12:49 перепробовал все что смог
WIN 7
WIN 10
разные версии программы
требует этот файл
"barcode.h"
если можно help (F1).
Видимо не все . Ищи где у тебя стоит флпрог. У меня библа лежит здесь D:\Program Files\FLProg_5-2-1_Win64\ideV3\libraries\USB_Host_Shield_2.0-master
если ты запускал блок в который я библу запихнул.
Naum
Рядовой
Сообщения: 39
Зарегистрирован: 14 сен 2015, 00:05

Barcode Scanner

Сообщение Naum »

можешь мне пожалуйста скинуть только barcode.h
дальше я его сам запихну
Аватара пользователя
Ivan_Kornege
Лейтенант
Сообщения: 338
Зарегистрирован: 29 апр 2017, 08:24
Откуда: гАндурас
Имя: Ivan

Barcode Scanner

Сообщение Ivan_Kornege »

:shok: ты же сам ссылку давал ,качай по твоей ссылке библу
Naum писал(а): 29 май 2019, 11:06 библиотека: https://github.com/felis/USB_Host_Shield_2.0
Naum
Рядовой
Сообщения: 39
Зарегистрирован: 14 сен 2015, 00:05

Barcode Scanner

Сообщение Naum »

я очень поверхностно знаю программирования (любитель)
попробую объяснить что у меня происходит:
основная библиотека лежит где ей и положено (.....\libraries\USB_Host_Shield_2.0-master)
в блоке пользователя есть ссылка н библиотеку котороя не прописана не где "barcode.h"
вот её мне и не хватает
У вас нет необходимых прав для просмотра вложений в этом сообщении.
User8
Лейтенант
Сообщения: 341
Зарегистрирован: 12 июн 2017, 14:44
Имя: Евгений

Barcode Scanner

Сообщение User8 »

[ref]Naum[/ref], при компиляции флпрог ложит ее в папку с библиотеками arduino ide.
Naum
Рядовой
Сообщения: 39
Зарегистрирован: 14 сен 2015, 00:05

Barcode Scanner

Сообщение Naum »

User8 писал(а): 11 июн 2019, 16:03 при компиляции флпрог ложит ее в папку с библиотеками arduino ide.
я понимаю но у меня это не происходит видимо из за политики фирмы ( комп рабочий).
вот и нужны эти файлы (кроме библиотеки USB_Host_Shield_2.0-master) которых не хватает, чтобы переписть в ручьную.
думаю это должно быть два файла
barcode.h
barcode.cpp
но я точно не знаю это предположение так как ругается только на (barcode.h )
User8
Лейтенант
Сообщения: 341
Зарегистрирован: 12 июн 2017, 14:44
Имя: Евгений

Barcode Scanner

Сообщение User8 »

[ref]Naum[/ref],
У вас нет необходимых прав для просмотра вложений в этом сообщении.
pan
Полковник
Сообщения: 2860
Зарегистрирован: 13 апр 2017, 11:57
Имя: noname

Barcode Scanner

Сообщение pan »

[ref]Naum[/ref], чукча не читатель?
pan писал(а): 06 июн 2019, 16:15 [ref]Naum[/ref], :smile390: Сколько по граблям ходить будем?
в настройках какая IDE ? внешняя? тогда запускайте флпрог от имени администратора.
либо переключите на на ту, что в комплекте.
Отправлено спустя 3 минуты 29 секунд:
Naum писал(а): 11 июн 2019, 15:52 в блоке пользователя есть ссылка н библиотеку котороя не прописана не где "barcode.h"
вот её мне и не хватает
это не ссылка а сама библиотека.
Naum писал(а): 11 июн 2019, 15:14 можешь мне пожалуйста скинуть только barcode.h
это я дописывал библиотеку что бы нормально впихнуть {невпихуемое} нормально весь код в блок. и вложил её туда же
Naum
Рядовой
Сообщения: 39
Зарегистрирован: 14 сен 2015, 00:05

Barcode Scanner

Сообщение Naum »

большое спасибо всем, скопировал и вставил (barcode) все заработало.

теперь я понял что такое написать библиотеку под данный код и из каких файлов оно состоит.
EgorKa
Сержант
Сообщения: 217
Зарегистрирован: 09 мар 2019, 17:49
Имя: Egor

Barcode Scanner

Сообщение EgorKa »

pan писал(а): 11 июн 2019, 08:36 EgorKa, первый пост читали? трудно отдельно библиотеку скачать? конечно НЕ присутствует, и об этом прямо в ошибке компиляции написано.
Ваш блок у меня не компилирется.
Компилирется от Ивана
Ivan_Kornege писал(а): 11 июн 2019, 06:10 Вот приклячил в блок библу USB_Host_Shield_2.0-master у меня скомпилировался код.
Блок флпрог 5 версия

Barcode_1_(CODE).rar
Ответить

Вернуться в «Разработка пользовательских блоков»

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

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