Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of LG by
Diff: DeviceUser.h
- Revision:
- 215:b58b887fd367
- Parent:
- 214:4c70e452c491
- Child:
- 216:189b0ea1dc38
--- a/DeviceUser.h Wed Aug 16 09:00:25 2017 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,174 +0,0 @@
-#ifndef __DEVICE_USER_H__
-#define __DEVICE_USER_H__
-
-#include "stdint.h"
-#include "DeviceUserRequest.h"
-#include "DeviceUserResponse.h"
-#include "DeviceUserDecoder.h"
-#include "DeviceUserEncoder.h"
-
-#define BROADCAST_ADDRESS 0x1f
-#define BROADCAST_FRAME 100 //100 mks
-
-//All commands
-#define DELTA_PS 0xa000 //B_DeltaPS command code: output of accumulated pulses and ACS parameters as 22 indexed packets sequence
-#define DELTA_BINS 0xb000 //B_DeltaBINS command code: output of accumulated pulses and data validity attribute in one packet
-#define DELTA_SF 0xb200 //B_DeltaSF command code: scale factor measurement data output in one packet
-#define DEV_MODE 0xa500 //Device_Mode command code
-#define BIT_MODE 0xa700 //B.I.T. (built-in test) command code
-
-#define MAINTENANCE 0x9900 //Maintenance mode command code
-//Maintenance command set versions
-#define M0_MAINTENANCE 0x99 //: initial version
-//Maintenance basic commands group
-#define M0_BASIC 0xda00 //Basic maintenance commands group code
-#define M0_CLEAR 0xda00 //group command select: reset line 485 error register
-#define M0_MIRROR 0xda01 //group command select: return previous contents of the receiver buffer
-#define M0_LDPAR_F 0xda02 //group command select: load device parameters from Flash-memory
-#define M0_LDPAR_D 0xda03 //group command select: set device parameters by procedure of initialization
-#define M0_START 0xda04 //group command select: switch on the device
-#define M0_STOP 0xda40 //group command select: switch off the device
-#define M0_PULSE 0xda0a //group command select: generation of the light-up pulse
-//Maintenance rate commands group
-#define M0_RATE 0xdd00 //M_Rate commands group code
-#define M0_RATE_1 0xdd01 //group command select: output parameters set 1 (MRate)
-#define M0_RATE_2 0xdd02 //group command select: output parameters set 2 (MRate2)
-#define M0_RATE_3 0xdd03 //group command select: output parameters set 3 (MRate3)
-#define M0_RATE_4 0xdd04 //group command select: output parameters set 4 (MRate4)
-#define M0_RATE_7 0xdd07 //group command select: output parameters set 7 (MRate7)
-
-//Other maintenance commands
-#define M0_STIMUL 0x0a00 //MStimul command code
-#define M0_RESET 0x8000 //software device reset(restart)
-
-#define M0_CTL_R 0xd900 //reading the control register RgConA/B of the device
-#define M0_CTL_A_R 0xd900 //MCtlR command code mask: reading the control register RgConA of the device
-#define M0_CTL_B_R 0xd910 //MCtlR command code mask: reading the control register RgConB of the device
-#define M0_CTL_M 0xd800 //modification of bit of the control register
-#define M0_CTL_A_M 0xd800 //MCtlM command code mask: modification control register RgConA of the device
-#define M0_CTL_B_M 0xd810 //MCtlM command code mask: modification the control register RgConB of the device
-
-#define M0_TMP_W 0xe000 //writing to the AD7714 circuit (temperature sensors)
-#define M0_TMP_R 0xe100 //reading from the AD7714 circuit (temperature sensors)
-#define M0_E5R_W 0xe200 //writing to the register of a mode of the Elio5 card
-#define M0_ADC_R 0xe300 //reading data from the ADC of the Elio5 card
-#define M0_VIB_W 0xe400 //loading of the oscillation period of the dither drive
-#define M0_CNT_R 0xe500 //reading data from the counters of the Elio5 card
-#define M0_GPH_W 0xe600 //loading gain factors of photodetector channels
-#define M0_FLG_R 0xe700 //reading data from the register of input flags
-#define M0_PARAM_W 0xe800 //writing working parameter to the data memory
-#define M0_PARAM_R 0xe900 //reading working parameter of the GLD from the data memory
-#define M0_E5RA_W 0xea00 //writing in 1st additional (A) register of a mode of the Elio5 card
-
-//Factory maintenance commands
-#define FACTORY_ACCESS 0xff00 //Factory access: command mask
-
-#define H_PARAM8_R 0xff00 //Hash access: 0000b read 1-byte param
-#define H_PARAM16_R 0xff01 //Hash access: 0001b read 2-byte param
-#define H_PARAM32_R 0xff03 //Hash access: 0010b read 4-byte param
-#define H_BYTES_R 0xff0f //Hash access: 1111b read bytes param
-
-#define H_PARAM8_W 0xff10 //Hash access: 0000b write 1-byte param
-#define H_PARAM16_W 0xff11 //Hash access: 0001b write 2-byte param
-#define H_PARAM32_W 0xff13 //Hash access: 0010b write 4-byte param
-#define H_BYTES_W 0xff1f //Hash access: 1111b write bytes param
-
-#define H_FUNC_PARAM0_BY_IMM8 0xff20 //Hash access: 0000b set function parameter 0 by 8 bit immediate value
-#define H_FUNC_PARAM1_BY_IMM8 0xff24 //Hash access: 0100b set function parameter 1 by 8 bit immediate value
-#define H_FUNC_PARAM2_BY_IMM8 0xff28 //Hash access: 1000b set function parameter 2 by 8 bit immediate value
-#define H_FUNC_PARAM3_BY_IMM8 0xff2c //Hash access: 1100b set function parameter 3 by 8 bit immediate value
-
-#define H_FUNC_PARAM0_BY_IMM16 0xff21 //Hash access: 0001b set function parameter 0 by 16 bit immediate value
-#define H_FUNC_PARAM1_BY_IMM16 0xff25 //Hash access: 0101b set function parameter 1 by 16 bit immediate value
-#define H_FUNC_PARAM2_BY_IMM16 0xff29 //Hash access: 1001b set function parameter 2 by 16 bit immediate value
-#define H_FUNC_PARAM3_BY_IMM16 0xff2d //Hash access: 1101b set function parameter 3 by 16 bit immediate value
-
-#define H_FUNC_PARAM0_BY_IMM32 0xff23 //Hash access: 0011b set function parameter 0 by 32 bit immediate value
-#define H_FUNC_PARAM1_BY_IMM32 0xff27 //Hash access: 0111b set function parameter 1 by 32 bit immediate value
-#define H_FUNC_PARAM2_BY_IMM32 0xff2b //Hash access: 1011b set function parameter 2 by 32 bit immediate value
-#define H_FUNC_PARAM3_BY_IMM32 0xff2f //Hash access: 1111b set function parameter 3 by 32 bit immediate value
-
-#define H_FUNC_PARAM0_BY_VAL8 0xff30 //Hash access: 0000b set function parameter 0 by 8 bit variable value
-#define H_FUNC_PARAM1_BY_VAL8 0xff34 //Hash access: 0100b set function parameter 1 by 8 bit variable value
-#define H_FUNC_PARAM2_BY_VAL8 0xff38 //Hash access: 1000b set function parameter 2 by 8 bit variable value
-#define H_FUNC_PARAM3_BY_VAL8 0xff3c //Hash access: 1100b set function parameter 3 by 8 bit variable value
-
-#define H_FUNC_PARAM0_BY_VAL16 0xff31 //Hash access: 0001b set function parameter 0 by 16 bit variable value
-#define H_FUNC_PARAM1_BY_VAL16 0xff35 //Hash access: 0101b set function parameter 1 by 16 bit variable value
-#define H_FUNC_PARAM2_BY_VAL16 0xff39 //Hash access: 1001b set function parameter 2 by 16 bit variable value
-#define H_FUNC_PARAM3_BY_VAL16 0xff3d //Hash access: 1101b set function parameter 3 by 16 bit variable value
-
-#define H_FUNC_PARAM0_BY_VAL32 0xff33 //Hash access: 0011b set function parameter 0 by 32 bit variable value
-#define H_FUNC_PARAM1_BY_VAL32 0xff37 //Hash access: 0111b set function parameter 1 by 32 bit variable value
-#define H_FUNC_PARAM2_BY_VAL32 0xff3b //Hash access: 1011b set function parameter 2 by 32 bit variable value
-#define H_FUNC_PARAM3_BY_VAL32 0xff3f //Hash access: 1111b set function parameter 3 by 32 bit variable value
-
-#define H_FUNC_PARAM0_BY_REF8 0xff40 //Hash access: 0000b set function parameter 0 by 8 bit variable reference
-#define H_FUNC_PARAM1_BY_REF8 0xff44 //Hash access: 0100b set function parameter 1 by 8 bit variable reference
-#define H_FUNC_PARAM2_BY_REF8 0xff48 //Hash access: 1000b set function parameter 2 by 8 bit variable reference
-#define H_FUNC_PARAM3_BY_REF8 0xff4c //Hash access: 1100b set function parameter 3 by 8 bit variable reference
-
-#define H_FUNC_PARAM0_BY_REF16 0xff41 //Hash access: 0001b set function parameter 0 by 16 bit variable reference
-#define H_FUNC_PARAM1_BY_REF16 0xff45 //Hash access: 0101b set function parameter 1 by 16 bit variable reference
-#define H_FUNC_PARAM2_BY_REF16 0xff49 //Hash access: 1001b set function parameter 2 by 16 bit variable reference
-#define H_FUNC_PARAM3_BY_REF16 0xff4d //Hash access: 1101b set function parameter 3 by 16 bit variable reference
-
-#define H_FUNC_PARAM0_BY_REF32 0xff43 //Hash access: 0011b set function parameter 0 by 32 bit variable reference
-#define H_FUNC_PARAM1_BY_REF32 0xff47 //Hash access: 0111b set function parameter 1 by 32 bit variable reference
-#define H_FUNC_PARAM2_BY_REF32 0xff4b //Hash access: 1011b set function parameter 2 by 32 bit variable reference
-#define H_FUNC_PARAM3_BY_REF32 0xff4f //Hash access: 1111b set function parameter 3 by 32 bit variable reference
-
-#define FUNCTION_CALL 0xff50 //Hash access: function call - no parameters
-#define FUNCTION_CALL_1 0xff51 //Hash access: function call - 1 parameter
-#define FUNCTION_CALL_2 0xff52 //Hash access: function call - 2 parameters
-#define FUNCTION_CALL_3 0xff53 //Hash access: function call - 3 parameters
-#define FUNCTION_CALL_4 0xff54 //Hash access: function call - 4 parameters
-
-#define FLASH_READ_ALL 0xff60 //Flash access: read all from flash
-#define FLASH_WRITE_ALL 0xff70 //Flash access: write all to flash
-
-//Common response messages
-#define MESSAGE_OK 0x0000
-#define MESSAGE_UNKNOWN_REQUEST_CODE 0x8000
-#define MESSAGE_UNKNOWN_REQUEST_PARAMETER 0x8001
-#define MESSAGE_UNKNOWN_REQUEST_HASH 0x8002
-#define MESSAGE_WRONG_REQUEST_VALUE_SIZE 0x8003
-#define MESSAGE_WRONG_REQUEST_VALUE_RANGE 0x8004
-
-//Actual commands:
-//BINS
-// GLD initialization sequence:
-// a5 04 - external latch with DeltaPS format
-// a0 70 - DeltaPS 921600/921600 by request only
-// Other:
-// 80 00 - reset
-//BINS/AskGLD/Techno
-// 99 99 - maintenance
-//Techno
-// d8 90 - set bit 0 of RgConB
-// d8 10 - reset bit 0 of RgConB
-// dd 81 - periodic 38400 MRate
-// a0 b0 - periodic 115200/115200 DeltaPS
-
-//Registers:
-// RgConA - flags of regulator loops
-// RgConB - counting mode: 00 - reference counters, 01 - dither counters and moving average filter
-
-//User protocol typedefs
-typedef struct _DeviceUser {
- //Device address
- uint16_t address;
- //Units
- DeviceUserPort port;
- DeviceUserDecoder decoder;
- DeviceUserEncoder encoder;
- DeviceUserRequest request;
- DeviceUserResponse response;
-} DeviceUser;
-
-//User communication initialization functions
-void InitUserDefaultSettings(void);
-void InitUserState(void);
-void DeviceStartUser(void);
-
-#endif /* __DEVICE_USER_H__ */
\ No newline at end of file
