Loading...
Searching...
No Matches
gp8xxx_info.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2025 Bas Stottelaar <basstottelaar@gmail.com>
3 * SPDX-License-Identifier: LGPL-2.1-only
4 */
5
6#pragma once
7
17
18#include <stdint.h>
19
20#ifdef __cplusplus
21extern "C" {
22#endif
23
28#define GP8XXX_INFO_TYPE_VDAC (0)
29#define GP8XXX_INFO_TYPE_IDAC (1)
30
31#define GP8XXX_INFO_CHANNELS_SINGLE (1)
32#define GP8XXX_INFO_CHANNELS_DUAL (2)
33
34#define GP8XXX_INFO_RANGE_2V5_VCC (0)
35#define GP8XXX_INFO_RANGE_5V_10V (1)
36#define GP8XXX_INFO_RANGE_4MA_20MA (2)
37
38#define GP8XXX_INFO_RESOLUTION_12_BIT (0x0fff)
39#define GP8XXX_INFO_RESOLUTION_15_BIT (0x7fff)
41
46#define GP8503_INFO_TYPE GP8XXX_INFO_TYPE_VDAC
47#define GP8503_INFO_CHANNELS GP8XXX_INFO_CHANNELS_DUAL
48#define GP8503_INFO_RANGE GP8XXX_INFO_RANGE_2V5_VCC
49#define GP8503_INFO_RESOLUTION GP8XXX_INFO_RESOLUTION_12_BIT
51
56#define GP8512_INFO_TYPE GP8XXX_INFO_TYPE_VDAC
57#define GP8512_INFO_CHANNELS GP8XXX_INFO_CHANNELS_SINGLE
58#define GP8512_INFO_RANGE GP8XXX_INFO_RANGE_2V5_VCC
59#define GP8512_INFO_RESOLUTION GP8XXX_INFO_RESOLUTION_15_BIT
61
66#define GP8211S_INFO_TYPE GP8XXX_INFO_TYPE_VDAC
67#define GP8211S_INFO_CHANNELS GP8XXX_INFO_CHANNELS_SINGLE
68#define GP8211S_INFO_RANGE GP8XXX_INFO_RANGE_5V_10V
69#define GP8211S_INFO_RESOLUTION GP8XXX_INFO_RESOLUTION_15_BIT
71
76#define GP8403_INFO_TYPE GP8XXX_INFO_TYPE_VDAC
77#define GP8403_INFO_CHANNELS GP8XXX_INFO_CHANNELS_DUAL
78#define GP8403_INFO_RANGE GP8XXX_INFO_RANGE_5V_10V
79#define GP8403_INFO_RESOLUTION GP8XXX_INFO_RESOLUTION_12_BIT
81
86#define GP8413_INFO_TYPE GP8XXX_INFO_TYPE_VDAC
87#define GP8413_INFO_CHANNELS GP8XXX_INFO_CHANNELS_DUAL
88#define GP8413_INFO_RANGE GP8XXX_INFO_RANGE_5V_10V
89#define GP8413_INFO_RESOLUTION GP8XXX_INFO_RESOLUTION_15_BIT
91
96#define GP8302_INFO_TYPE GP8XXX_INFO_TYPE_IDAC
97#define GP8302_INFO_CHANNELS GP8XXX_INFO_CHANNELS_SINGLE
98#define GP8302_INFO_RANGE GP8XXX_INFO_RANGE_4MA_20MA
99#define GP8302_INFO_RESOLUTION GP8XXX_INFO_RESOLUTION_12_BIT
101
105typedef struct {
106 uint8_t type;
107 uint8_t channels;
108 uint8_t range;
109 uint16_t resolution;
111
115extern const gp8xxx_info_t gp8503_info;
116
120extern const gp8xxx_info_t gp8512_info;
121
125extern const gp8xxx_info_t gp8211s_info;
126
130extern const gp8xxx_info_t gp8403_info;
131
135extern const gp8xxx_info_t gp8413_info;
136
140extern const gp8xxx_info_t gp8302_info;
141
142#ifdef __cplusplus
143}
144#endif
145
const gp8xxx_info_t gp8403_info
GP8403 info structure.
const gp8xxx_info_t gp8503_info
GP8503 info structure.
const gp8xxx_info_t gp8413_info
GP8413 info structure.
const gp8xxx_info_t gp8512_info
GP8512 info structure.
const gp8xxx_info_t gp8302_info
GP8302 info structure.
const gp8xxx_info_t gp8211s_info
GP8211S info structure.
Struct to record GP8xxx actuator information.
uint8_t channels
Number of channels.
uint8_t range
Output range.
uint16_t resolution
Output resolution.
uint8_t type
Actuator type (VDAC or IDAC)