setar писал(а):в одну кучу смешали аппаратный SPI и аппаратный Serial
для того чтобы использовать аппаратный порт для дебага и software spi для сенсора пришлось вводить flg_software_serial
Ну не ругайся
Аппаратный spi идет на помойку, для него нужен +1 лишний пин: sdi, sdo, не может переназначаться на другие пины и он работает медленнее программного, flg_software_spi всегда должен быть определен. Просто за исходник моих исходников был взят код с аппаратным spi и потом долго оптимизировался и в результате переделан под программный spi. Надо выпилить аппаратный spi, чтоб вопросов не возникало.
setar писал(а):и почему запись в порт не вынести в отдельную процедуру, которая в зависимости от аппаратного и программного порта сама решала как писать ( Serial.write или MyDbgSerial.write)
dccharacter уже наступал на эти грабли, потому что отдельная процедура - это лишние такты на call и return. А скорость работы нужна высокая. Чем не устраивают pin_SDIO_LOW; ? Отсутствием скобочек?
setar писал(а):вопрос: как устанавливать пороги и как снимать графики которые вы смотрите ?
Порог отдефайнен в Config.h, но реально используется только "#define ConstMax" в ветке: "#ifndef flg_serial_debug". Менять порог в соотв. месте своего сенсора. Для аднс2610 это тут:
- Код: Выделить всё • Развернуть
#ifdef flg_ADNS_type_ADNS_2610
#define ARRAY_WIDTH 18
#define ARRAY_HEIGHT 18
//#define Motion 0x02
#define Delta_X 0x03
#define Delta_Y 0x02
#define squal 0x04
#define Shutter_Upper 0x09
#define Shutter_Lower 0x0a
#define Maximum_Pixel 0x05
#define Pixel_Sum 0x07
#define Minimum_Pixel 0x06
#define Pixel_Grab 0x08
#define Mask_pixel_value 0x3f
#define Pixel_data_valid 0x40
#define delay_tSWW 100
#define delay_tSRAD 100
#define ConstMax 59
#define ConstMin 3
#define ConstPixMin 50
#define ConstPixMax 70
#endif
Другие порогои в программе не используются, т.к. еще не определились с алгоритмами.
Графики строить по текстовым логам режимов:
- Код: Выделить всё • Развернуть
flg_serial_debug = 3 Передача в текстовом виде на терминал данных: Max_Pix, Min_Pix, Pix_Sum, Shutter
flg_serial_debug = 4 Как 3-й режим, но по разрешению сигнала pin_TRIG (лог точно ограничен сигналом z_probe)
Т.е. компилишь прошивку с нужным режимом, запускаешь терминалку, в терминалке включаешь запись лога в файл. А потом импорт файла в электр. таблицы. А там уже постройка графиков.
Добавлено спустя 1 минуту 17 секунд:setar писал(а):P.S. сенсор без оптики совсем
Поперечные полосы - освещение лампой дневного света?