Difference between revisions of "Using SimpleMotion scope capture feature"
From Granite Devices Knowledge Wiki
| [checked revision] | [checked revision] |
| Line 4: | Line 4: | ||
SMP_CAPTURE_BUF_LENGHT - montako samplea kaapataan 1-2048 | SMP_CAPTURE_BUF_LENGHT - montako samplea kaapataan 1-2048 | ||
| + | |||
SMP_CAPTURE_SAMPLERATE - näytteistystaajuus (tai sen jakaja). Taajuus on 20kHz/(arvo+1), eli 0=20kHz, 1=10kHz, 2=6.66kHz jne | SMP_CAPTURE_SAMPLERATE - näytteistystaajuus (tai sen jakaja). Taajuus on 20kHz/(arvo+1), eli 0=20kHz, 1=10kHz, 2=6.66kHz jne | ||
| + | |||
SMP_CAPTURE_SOURCE - päälläolevat bitit tässä parametrissa määräävät mitä signaaleja bufferiin kaapataan, seuraavat on saavatilla kaikissa firmisversioissa (samat mitä granityssä valittavissa): | SMP_CAPTURE_SOURCE - päälläolevat bitit tässä parametrissa määräävät mitä signaaleja bufferiin kaapataan, seuraavat on saavatilla kaikissa firmisversioissa (samat mitä granityssä valittavissa): | ||
#define CAPTURE_TORQUE_TARGET 1 | #define CAPTURE_TORQUE_TARGET 1 | ||
Revision as of 10:40, 25 August 2017
This page is written in Finnish. Translation work in progress. If you need it now, please inquire at Granite Devices support.
Alustus, asetetaan skoopin parametrit
SMP_CAPTURE_BUF_LENGHT - montako samplea kaapataan 1-2048
SMP_CAPTURE_SAMPLERATE - näytteistystaajuus (tai sen jakaja). Taajuus on 20kHz/(arvo+1), eli 0=20kHz, 1=10kHz, 2=6.66kHz jne
SMP_CAPTURE_SOURCE - päälläolevat bitit tässä parametrissa määräävät mitä signaaleja bufferiin kaapataan, seuraavat on saavatilla kaikissa firmisversioissa (samat mitä granityssä valittavissa):
#define CAPTURE_TORQUE_TARGET 1
#define CAPTURE_TORQUE_ACTUAL 2
#define CAPTURE_VELOCITY_TARGET 3
#define CAPTURE_VELOCITY_ACTUAL 4
#define CAPTURE_POSITION_TARGET 5
#define CAPTURE_POSITION_ACTUAL 6
#define CAPTURE_FOLLOW_ERROR 7
#define CAPTURE_OUTPUT_VOLTAGE 8
#define CAPTURE_BUS_VOLTAGE 9
#define CAPTURE_DEBUG1 19
#define CAPTURE_DEBUG2 20
Esim arvoksi tulee 68 (bitit 2 & 6) kanavilla CAPTURE_TORQUE_ACTUAL ja CAPTURE_POSITION_ACTUAL.
SMP_CAPTURE_TRIGGER - triggeri mikä käynnistää kaappauksen, vaihtoehdot (samat mitä granityssä valittavissa):
#define TRIG_NONE 0
#define TRIG_INSTANT 1
#define TRIG_FAULT 2
#define TRIG_TARGETCHANGE 3
#define TRIG_TARGETCHANGE_POS 4
#define TRIG_EXTERNAL_INPUT 5
SMP_CAPTURE_BEFORE_TRIGGER_PERCENTS - tämä tuli vasta FW versiossa 1.6.0. asettaa kaappauksen aloituksen ennen triggausta. arvo prosentteina -1000000...100. Granityt 1.13.0 voi testailla tämän toimintaa.
Skoopin luku
Pollataan arvoa SMP_CAPTURE_STATE, arvot:
0 - idle (kaappaus valmis tai ei vielä aloitettukaan)
1 - odottaa triggeriä
2 - kaappaus käynnissä
Kun kaappaus valmis (käynyt arvoissa !=0 ja sitten 0), ladataan data talteen:
asetetaan SMP_CAPTURE_BUFFER_GET_ADDR = 0
luetaan parametria SMP_CAPTURE_BUFFER_GET_VALUE yhtä monta kertaa kuin alustuksessa asetettu parametrin arvo SMP_CAPTURE_BUF_LENGHT on
tämän luku palauttaa kaapatut samplet. jos asetettiin kaapattavaksi kanavat a, b ja c, niin luetut arvot tulevat järjestyksesä a0,b0,c0,a1,b1,c1,a2,b2,c2,a3,b3,c3.