test upload STMicroelectronics L6470
L6470.h@3:f0e29d94b863, 2014-03-05 (annotated)
- Committer:
- Brid
- Date:
- Wed Mar 05 06:22:03 2014 +0000
- Revision:
- 3:f0e29d94b863
- Parent:
- 1:bb4bb05904cb
ver1.1
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Brid | 1:bb4bb05904cb | 1 | //This 'L6470' libraly maked by Brid |
Brid | 1:bb4bb05904cb | 2 | |
Brid | 0:26699d53cd2a | 3 | #ifndef MBED_L6470 |
Brid | 0:26699d53cd2a | 4 | #define MBED_L6470 |
Brid | 0:26699d53cd2a | 5 | |
Brid | 0:26699d53cd2a | 6 | #include "mbed.h" |
Brid | 0:26699d53cd2a | 7 | |
Brid | 0:26699d53cd2a | 8 | #define FORWARD 1 |
Brid | 0:26699d53cd2a | 9 | #define REVERSE 0 |
Brid | 0:26699d53cd2a | 10 | |
Brid | 3:f0e29d94b863 | 11 | // |
Brid | 3:f0e29d94b863 | 12 | //INI = ResetHex |
Brid | 3:f0e29d94b863 | 13 | //My specification for Initial value |
Brid | 3:f0e29d94b863 | 14 | #define INI_ABS_POS 0 //Current position |
Brid | 3:f0e29d94b863 | 15 | #define INI_EL_POS 0 //Electrical position |
Brid | 3:f0e29d94b863 | 16 | #define INI_MARK 0 //Mark position |
Brid | 3:f0e29d94b863 | 17 | #define INI_SPEED 0 //Current speed |
Brid | 3:f0e29d94b863 | 18 | #define INI_ACC 0x8A //Acceleration |
Brid | 3:f0e29d94b863 | 19 | #define INI_DEC 0x8A //Deceleration |
Brid | 3:f0e29d94b863 | 20 | #define INI_MAX_SPEED 0x20 //Maximum speed |
Brid | 3:f0e29d94b863 | 21 | #define INI_MIN_SPEED 0 //Minimum speed |
Brid | 3:f0e29d94b863 | 22 | #define INI_KVAL_HOLD 0xFF //Full step speed |
Brid | 3:f0e29d94b863 | 23 | #define INI_KVAL_RUN 0xFF // |
Brid | 3:f0e29d94b863 | 24 | #define INI_KVAL_ACC 0xFF // |
Brid | 3:f0e29d94b863 | 25 | #define INI_KVAL_DEC 0xFF // |
Brid | 3:f0e29d94b863 | 26 | #define INI_INT_SPD 0x408 // |
Brid | 3:f0e29d94b863 | 27 | #define INI_ST_SLP 0x19 // |
Brid | 3:f0e29d94b863 | 28 | #define INI_FN_SLP_ACC 0x29 // |
Brid | 3:f0e29d94b863 | 29 | #define INI_FN_SLP_DEC 0x29 // |
Brid | 3:f0e29d94b863 | 30 | #define INI_K_THERA 0x0 // |
Brid | 3:f0e29d94b863 | 31 | // ADC_OUT ReadOnly |
Brid | 3:f0e29d94b863 | 32 | #define INI_OCR_TH 0xF |
Brid | 3:f0e29d94b863 | 33 | #define INI_STALL_TH 0x7F |
Brid | 3:f0e29d94b863 | 34 | #define INI_FS_SPD 0x27 |
Brid | 3:f0e29d94b863 | 35 | #define INI_STEP_MODE 0x7 |
Brid | 3:f0e29d94b863 | 36 | #define INI_ARARM_FN 0xFF |
Brid | 3:f0e29d94b863 | 37 | #define INI_CONFIG 0x2E88 |
Brid | 3:f0e29d94b863 | 38 | // INI_STATUS ReadOnly |
Brid | 3:f0e29d94b863 | 39 | |
Brid | 3:f0e29d94b863 | 40 | |
Brid | 3:f0e29d94b863 | 41 | |
Brid | 3:f0e29d94b863 | 42 | |
Brid | 3:f0e29d94b863 | 43 | |
Brid | 3:f0e29d94b863 | 44 | |
Brid | 3:f0e29d94b863 | 45 | |
Brid | 3:f0e29d94b863 | 46 | |
Brid | 1:bb4bb05904cb | 47 | // name (length<<8)+address |
Brid | 3:f0e29d94b863 | 48 | // |
Brid | 0:26699d53cd2a | 49 | #define ABS_POS ((22<<8)+0x01) //Current position |
Brid | 0:26699d53cd2a | 50 | #define EL_POS ((9<<8)+0x02) //Electrical position |
Brid | 0:26699d53cd2a | 51 | #define MARK ((22<<8)+0x03) //Mark position |
Brid | 0:26699d53cd2a | 52 | #define SPEED ((20<<8)+0x04) //Current speed |
Brid | 0:26699d53cd2a | 53 | #define ACC ((12<<8)+0x05) //Acceleration |
Brid | 0:26699d53cd2a | 54 | #define DEC ((12<<8)+0x06) //Deceleration |
Brid | 0:26699d53cd2a | 55 | #define MAX_SPEED ((10<<8)+0x07) //Maximum speed |
Brid | 0:26699d53cd2a | 56 | #define MIN_SPEED ((13<<8)+0x08) //Minimum speed |
Brid | 0:26699d53cd2a | 57 | #define KVAL_HOLD ((8<<8)+0x09) //Full step speed |
Brid | 0:26699d53cd2a | 58 | #define KVAL_RUN ((8<<8)+0x0A) // |
Brid | 0:26699d53cd2a | 59 | #define KVAL_ACC ((8<<8)+0x0B) // |
Brid | 0:26699d53cd2a | 60 | #define KVAL_DEC ((8<<8)+0x0C) // |
Brid | 0:26699d53cd2a | 61 | #define INT_SPD ((14<<8)+0x0D) // |
Brid | 0:26699d53cd2a | 62 | #define ST_SLP ((8<<8)+0x0E) // |
Brid | 0:26699d53cd2a | 63 | #define FN_SLP_ACC ((8<<8)+0x0F) // |
Brid | 0:26699d53cd2a | 64 | #define FN_SLP_DEC ((8<<8)+0x10) // |
Brid | 0:26699d53cd2a | 65 | #define K_THERA ((4<<8)+0x11) // |
Brid | 0:26699d53cd2a | 66 | #define ADC_OUT ((5<<8)+0x12) // |
Brid | 0:26699d53cd2a | 67 | #define OCR_TH ((4<<8)+0x13) // |
Brid | 0:26699d53cd2a | 68 | #define STALL_TH ((7<<8)+0x14) // |
Brid | 0:26699d53cd2a | 69 | #define FS_SPD ((10<<8)+0x15) // |
Brid | 0:26699d53cd2a | 70 | #define STEP_MODE ((8<<8)+0x16) // |
Brid | 0:26699d53cd2a | 71 | #define ARARM_FN ((8<<8)+0x17) // |
Brid | 0:26699d53cd2a | 72 | #define CONFIG ((16<<8)+0x18) // |
Brid | 0:26699d53cd2a | 73 | #define STATUS ((16<<8)+0x19) // |
Brid | 0:26699d53cd2a | 74 | |
Brid | 0:26699d53cd2a | 75 | |
Brid | 0:26699d53cd2a | 76 | |
Brid | 0:26699d53cd2a | 77 | |
Brid | 0:26699d53cd2a | 78 | |
Brid | 0:26699d53cd2a | 79 | |
Brid | 0:26699d53cd2a | 80 | class L6470{ |
Brid | 0:26699d53cd2a | 81 | public: |
Brid | 0:26699d53cd2a | 82 | L6470(PinName mosi, PinName miso, PinName sclk, PinName cs); |
Brid | 0:26699d53cd2a | 83 | |
Brid | 0:26699d53cd2a | 84 | unsigned char send(unsigned char temp); |
Brid | 0:26699d53cd2a | 85 | void send_bytes(unsigned char temp[],int i); |
Brid | 0:26699d53cd2a | 86 | void NOP(); |
Brid | 0:26699d53cd2a | 87 | void SetParam(int param,int value); |
Brid | 0:26699d53cd2a | 88 | int GetParam(int param); |
Brid | 0:26699d53cd2a | 89 | void Run(unsigned char dir,int spd); |
Brid | 0:26699d53cd2a | 90 | void StepClock(unsigned char dir); |
Brid | 0:26699d53cd2a | 91 | void Move(unsigned char dir,int n_step); |
Brid | 0:26699d53cd2a | 92 | void GoTo(int abs_pos); |
Brid | 0:26699d53cd2a | 93 | void GoTo_DIR(unsigned char dir,int abs_pos); |
Brid | 0:26699d53cd2a | 94 | void GoUntil(unsigned char act,unsigned char dir,int spd); |
Brid | 0:26699d53cd2a | 95 | void ReleaseSW(unsigned char act,unsigned char dir); |
Brid | 0:26699d53cd2a | 96 | void GoHome(); |
Brid | 0:26699d53cd2a | 97 | void GoMark(); |
Brid | 0:26699d53cd2a | 98 | void ResetPos(); |
Brid | 0:26699d53cd2a | 99 | void ResetDevice(); |
Brid | 0:26699d53cd2a | 100 | void SoftStop(); |
Brid | 0:26699d53cd2a | 101 | void HardStop(); |
Brid | 0:26699d53cd2a | 102 | void SoftHiZ(); |
Brid | 0:26699d53cd2a | 103 | void HardHiZ(); |
Brid | 0:26699d53cd2a | 104 | void Resets(); |
Brid | 0:26699d53cd2a | 105 | |
Brid | 0:26699d53cd2a | 106 | private: |
Brid | 0:26699d53cd2a | 107 | SPI m_spi; |
Brid | 0:26699d53cd2a | 108 | DigitalOut m_cs; |
Brid | 0:26699d53cd2a | 109 | }; |
Brid | 0:26699d53cd2a | 110 | |
Brid | 0:26699d53cd2a | 111 | |
Brid | 0:26699d53cd2a | 112 | #endif |