param.h
Go to the documentation of this file.
1 // Copyright (c) 2010-2016 The YP-Spur Authors, except where otherwise indicated.
2 //
3 // Permission is hereby granted, free of charge, to any person obtaining a copy
4 // of this software and associated documentation files (the "Software"), to
5 // deal in the Software without restriction, including without limitation the
6 // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
7 // sell copies of the Software, and to permit persons to whom the Software is
8 // furnished to do so, subject to the following conditions:
9 //
10 // The above copyright notice and this permission notice shall be included in
11 // all copies or substantial portions of the Software.
12 //
13 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
16 // THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19 // SOFTWARE.
20 
21 #ifndef PARAM_H
22 #define PARAM_H
23 
24 #include <stdio.h>
25 
26 #include <ypparam.h>
27 #include <utility.h>
28 
29 #include <pthread.h>
30 
31 typedef enum
32 {
36  OPTION_SHOW_HELP = 0x0008,
39  OPTION_VERSION = 0x0040,
40  OPTION_DAEMON = 0x0080,
41 
42  OPTION_SOCKET = 0x00200,
43  OPTION_PARAM_FILE = 0x00400,
44 
46  OPTION_WITHOUT_SSM = 0x01000,
49  OPTION_RECONNECT = 0x08000,
51  OPTION_PASSIVE = 0x20000,
53  OPTION_HIGH_PREC = 0x80000,
54  OPTION_PING = 0x100000,
55 } ParamOptions;
56 
57 #define OPTION_DEFAULT (OPTION_HIGH_PREC)
58 
59 #define DEFAULT_PARAMETER_FILE "./robot.param"
60 #define DEFAULT_DEVICE_NAME "/dev/ttyUSB0"
61 
62 #define GRAVITY 9.81
63 #define SIGN(x) ((x < 0) ? -1 : 1)
64 
65 typedef enum
66 {
72 
73 typedef struct _parameters *ParametersPtr;
74 typedef struct _parameters
75 {
76  char parameter_filename[132];
77  char device_name[132];
78  int msq_key;
79  int port;
80  int speed;
83  unsigned char admask;
84  int ssm_id;
90 } Parameters;
91 
92 int arg_analyze(int argc, char *argv[]);
93 void arg_help(int argc, char *argv[]);
94 void param_help(void);
95 void arg_longhelp(int argc, char *argv[]);
96 int set_param(char *filename, char *concrete_path);
97 int set_paramptr(FILE *paramfile);
98 void calc_param_inertia2ff(void);
99 int set_param_motor(void);
100 int set_param_velocity(void);
101 int parameter_set(char param, char id, long long int value64);
102 int apply_robot_params(void);
103 
105 int state(YPSpur_state id);
106 void enable_state(YPSpur_state id);
107 void disable_state(YPSpur_state id);
108 double p(YPSpur_param id, enum motor_id motor);
109 int isset_p(YPSpur_param id, enum motor_id motor);
110 double *pp(YPSpur_param id, enum motor_id motor);
114 void param_calc();
115 
116 void param_update(void *filename);
117 void init_param_update_thread(pthread_t *thread, char *filename);
118 void param_update_loop_cleanup(void *data);
119 
120 #endif // PARAM_H
OPTION_ENABLE_SET_BS
@ OPTION_ENABLE_SET_BS
Definition: param.h:47
arg_help
void arg_help(int argc, char *argv[])
Definition: param.c:120
_parameters::port
int port
Definition: param.h:79
parameter_set
int parameter_set(char param, char id, long long int value64)
Definition: param.c:384
ParametersPtr
struct _parameters * ParametersPtr
Definition: param.h:73
set_param_motor
int set_param_motor(void)
Definition: param.c:1198
init_param_update_thread
void init_param_update_thread(pthread_t *thread, char *filename)
Definition: param.c:1003
_parameters::ssm_id
int ssm_id
Definition: param.h:84
OPTION_SHOW_LONGHELP
@ OPTION_SHOW_LONGHELP
Definition: param.h:37
YPSpur_state
YPSpur_state
Definition: ypparam.h:476
OPTION_SOCKET
@ OPTION_SOCKET
Definition: param.h:42
Parameters
struct _parameters Parameters
_parameters::admask
unsigned char admask
Definition: param.h:83
OPTION_HIGH_PREC
@ OPTION_HIGH_PREC
Definition: param.h:53
OPTION_SHOW_HELP
@ OPTION_SHOW_HELP
Definition: param.h:36
OPTION_RECONNECT
@ OPTION_RECONNECT
Definition: param.h:49
OPTION_PASSIVE
@ OPTION_PASSIVE
Definition: param.h:51
_parameters::parameter_filename
char parameter_filename[132]
Definition: param.h:76
OPTION_DAEMON
@ OPTION_DAEMON
Definition: param.h:40
_parameters::option
ParamOptions option
Definition: param.h:81
utility.h
apply_robot_params
int apply_robot_params(void)
Definition: param.c:1057
isset_p
int isset_p(YPSpur_param id, enum motor_id motor)
Definition: param.c:84
OPTION_VERSION
@ OPTION_VERSION
Definition: param.h:39
calc_param_inertia2ff
void calc_param_inertia2ff(void)
Definition: param.c:1105
YPSpur_param
YPSpur_param
Definition: ypparam.h:118
OPTION_PARAM_CONTROL
@ OPTION_PARAM_CONTROL
Definition: param.h:34
OPTION_ENABLE_GET_DIGITAL_IO
@ OPTION_ENABLE_GET_DIGITAL_IO
Definition: param.h:50
state
int state(YPSpur_state id)
Definition: param.c:64
_parameters::device_version
int device_version
Definition: param.h:87
set_param
int set_param(char *filename, char *concrete_path)
Definition: param.c:933
set_paramptr
int set_paramptr(FILE *paramfile)
Definition: param.c:454
ypparam.h
OPTION_UPDATE_PARAM
@ OPTION_UPDATE_PARAM
Definition: param.h:52
param_help
void param_help(void)
Definition: param.c:159
param_update_loop_cleanup
void param_update_loop_cleanup(void *data)
Definition: param.c:1012
OUTPUT_LV_INFO
@ OUTPUT_LV_INFO
Definition: param.h:69
disable_state
void disable_state(YPSpur_state id)
Definition: param.c:74
_parameters::output_lv
ParamOutputLv output_lv
Definition: param.h:82
OPTION_DO_NOT_USE_YP
@ OPTION_DO_NOT_USE_YP
Definition: param.h:48
OPTION_SHOW_ODOMETRY
@ OPTION_SHOW_ODOMETRY
Definition: param.h:33
output_lv
ParamOutputLv output_lv(void)
Definition: libypspur-md.c:1431
OPTION_SHOW_PARAMHELP
@ OPTION_SHOW_PARAMHELP
Definition: param.h:38
arg_longhelp
void arg_longhelp(int argc, char *argv[])
Definition: param.c:134
OPTION_WITHOUT_DEVICE
@ OPTION_WITHOUT_DEVICE
Definition: param.h:45
OUTPUT_LV_DEBUG
@ OUTPUT_LV_DEBUG
Definition: param.h:70
ParamOptions
ParamOptions
Definition: param.h:31
OPTION_SHOW_TIMESTAMP
@ OPTION_SHOW_TIMESTAMP
Definition: param.h:35
YP_PARAM_MAX_MOTOR_NUM
#define YP_PARAM_MAX_MOTOR_NUM
Definition: ypparam.h:456
OUTPUT_LV_WARNING
@ OUTPUT_LV_WARNING
Definition: param.h:68
OPTION_WITHOUT_SSM
@ OPTION_WITHOUT_SSM
Definition: param.h:46
param_update
void param_update(void *filename)
Definition: param.c:1017
_parameters::msq_key
int msq_key
Definition: param.h:78
pp
double * pp(YPSpur_param id, enum motor_id motor)
Definition: param.c:94
arg_analyze
int arg_analyze(int argc, char *argv[])
Definition: param.c:175
get_param_ptr
ParametersPtr get_param_ptr()
Definition: param.c:111
motor_id
motor_id
Definition: ypparam.h:451
OPTION_PING
@ OPTION_PING
Definition: param.h:54
_parameters::motor_enable
int motor_enable[YP_PARAM_MAX_MOTOR_NUM]
Definition: param.h:85
p
double p(YPSpur_param id, enum motor_id motor)
Definition: param.c:79
_parameters::device_version_age
int device_version_age
Definition: param.h:88
enable_state
void enable_state(YPSpur_state id)
Definition: param.c:69
OUTPUT_LV_ERROR
@ OUTPUT_LV_ERROR
Definition: param.h:67
ParamOutputLv
ParamOutputLv
Definition: param.h:65
does_option_set
int does_option_set(ParamOptions option)
OPTION_PARAM_FILE
@ OPTION_PARAM_FILE
Definition: param.h:43
_parameters::device_name
char device_name[132]
Definition: param.h:77
set_param_velocity
int set_param_velocity(void)
Definition: param.c:1402
_parameters::speed
int speed
Definition: param.h:80
option
int option(ParamOptions option)
Definition: param.c:99
_parameters
Definition: param.h:74
_parameters::parameter_applying
int parameter_applying
Definition: param.h:89
param_calc
void param_calc()
Definition: param.c:434
_parameters::num_motor_enable
int num_motor_enable
Definition: param.h:86


yp-spur
Author(s):
autogenerated on Fri Oct 20 2023 03:02:42