1. pl端的encoder模块实现了可选的外部复位信号 2. pl端修改encoder模块的ENCODER_CR寄存器复位值,为仅限内部复位以及内部默认处于复位状态 3. 驱动层实现外部复位的开启和关闭功能,驱动open时退出默认的复位清零状态 由于驱动程序已在open时退出复位状态,应用程序可不做更改,驱动程序close后不会自动切换回复位状态 4. 更新了驱动测试应用程序
53 lines
1.4 KiB
C
53 lines
1.4 KiB
C
/**
|
|
* @file encoder_dev.h
|
|
* @brief Manage the hardware encoder unit
|
|
* @author miaow, lzy (3703781@qq.com)
|
|
* @version 0.11
|
|
* @date 2022/04/26
|
|
* @mainpage github.com/NanjingForestryUniversity
|
|
*
|
|
* @copyright Copyright (c) 2023 miaow, lyz
|
|
*
|
|
* @par Changelog:
|
|
* <table>
|
|
* <tr><th>Date <th>Version <th>Author <th>Description
|
|
* <tr><td>2022/06/11 <td>0.9 <td>Miaow <td>Write this module
|
|
* <tr><td>2022/04/11 <td>0.10 <td>lyz <td>Add seprate dividers up to 4 cameras
|
|
* <tr><td>2023/04/26 <td>0.11 <td>Miaow <td>Add Clear mode
|
|
* </table>
|
|
*/
|
|
#ifndef __ENCODER_DEV_H
|
|
#define __ENCODER_DEV_H
|
|
|
|
#include <stdint.h>
|
|
|
|
#define ENCODER_DEV_PATH "/dev/encoder"
|
|
|
|
#define ENCODER_DEV_DIVIDE_NOT_TO_SET 0
|
|
|
|
typedef enum
|
|
{
|
|
ENCODER_TRIG_MODE_EXTERNEL = 100,
|
|
ENCODER_TRIG_MODE_INTERNEL = 101
|
|
} encoder_dev_trig_mode_enum;
|
|
|
|
typedef enum
|
|
{
|
|
ENCODER_CLEAR_MODE_BOTH = 200,
|
|
ENCODER_CLEAR_MODE_INTERNAL = 201
|
|
} encoder_dev_clear_mode_enum;
|
|
|
|
int encoder_dev_set_divide(int valve_divide,
|
|
int camera_a_divide,
|
|
int camera_b_divide,
|
|
int camera_c_divide,
|
|
int camera_d_divide);
|
|
int encoder_dev_flush(void);
|
|
int encoder_dev_set_trigmod(encoder_dev_trig_mode_enum mode);
|
|
int encoder_dev_set_clrmod(encoder_dev_clear_mode_enum mode);
|
|
int encoder_dev_virtual_trig(int count);
|
|
int encoder_dev_init(void);
|
|
int encoder_dev_deinit(void);
|
|
|
|
#endif
|