ubpulse H3

Featured ubpulse H3

개요

Featured ubpulse H3

Featured ubpulse H3

ubpulse H3 는 기기내에 손가락 배치하면 자동으로 1분동안의 맥파 검출 , 심박변이도 분석 기반 자율신경기능검사 결과를 화면에 즉시 제시하며 검사결과 수치외에도 임상표준 기반 판정 정보가 같이 표현되어 쉬운 사용성을 특징으로 하는 맥파분석기로 식약처 허가 의료기기.

특징

  • 자율신경기능검사 (Autonomic Nervous System Monitoring) ( 검사원리 보기  ⇓)
  • 심박변이도 분석기반 ( Heart Rate Variability Analysis )
  • 쉬운 사용법. 기기에 손가락 배치후 1분 기다리면 즉시 결과 화면 출력. (검사방법 보기 ⇓)
  • 자율신경기능 분석결과수치에 추가로 임상표준 기반 높고 낮음 판정 표현.(임상표준 보기  ⇓)
  • 의료품질 실시간 맥파 측정, 심박측정. (측정원리 보기 ⇓)
  • 내장 스피커. 전지 사용. ( AAA size  x 2 ). 올인원 시스템. 블루투스, USB  (기능블럭도 보기 ⇓ )
  • 응용프로그램 개발자용 통신 규격및 API 무상 제공.
  • 의료인증. 맥파분석기 (의료인증 보기  ⇓)

응용프로그램 개발자용 정보.

  • 블루투스, USB 동시 통신 가능.
  • 실시간 측정 데이터 및 분석결과 데이터 모두 응용프로그램에서 활용 가능.
  • 블루투스 통신 기반 개발자용 정보. (상세보기  ⇓)
  • USB 통신 기반 개발자용 정보. (상세보기  ⇓)

All in Onen

 

기능블럭도

ubpulse H3  내에 맥파(PPG, PhotoPlethysmoGraph) 측정에 필요한 모든 회로 및 디지털 프로세서, 스피커, OLED 디스플레이, 전원부등 측정에 필요한 모든 요소 및 HRV 분석 알고리듬 까지 모두 구비되어있다.

맥파

심박과 혈류

  1. 심장 박동이 있을때마다 신체 모든 곳에 혈액을 펌핑한다. .
  2. 손끝의 혈류 역시 상기 1의 심장박동에 동기되어 변화 한다. (fig. a).
  3. 매번의 심박마다 혈류는 증가했다가 감소를 반복하며,  ( fig.b).
  4. 혈류변화를 검출하면 심박 검출 가능하다..

 

광학식 심박측정 원리.

  1. 광원 (fig.a) 에서의 빛은 조직, 뼈, 피부, 동맥혈에서 흡수가 발생한다.
  2. 광흡수량의 변화는 주로 동맥혈에 기인한다. (fig.b).
  3. 투과 광량의 변화는  상기 2 흡수량의 반비례로 나타나면 이 값 역시 동맥혈류의 변화량을 반영한다. (fig.c).
  4. 최종 투과광량에서의 측정된 AC성분을 맥파(pulse wave)  혹은 PPG (Photo Plethysmo Gram). 이라고 부른다.

자율신경기능검사

 원리. 자율신경기능검사 . Autonomic Nervous System  Measuring.

1.인간 포함 모든 포유류에 있어서, 교감신경(Sympathetic)과 부교감신경(para-sympathetic) 은 항시 심박을 조절(regulates)하고 있다. 각 신경계의 활성화 정도에 비례하여 심박시간격이 항상제어 되고 있다.

2.측정된 심박시간격 시계열 데이터에는 교감신경과 부교감 신경각각이 기여한 정도는 시간도메인에서는 중첩되어 나타난다.

3.ubpulse H3 에서는 상기 2의 시간도메인 시계열 데이터를  주파수 도메인으로 변환하여 LX HRV(Heart Rate Variability) 알고리듬 적용하여 교감신경계와 부교감 신경계의 기여를 분리한다.

4.최종적으로 ubpulse H3 는 자율신경계 활성 정도를 임상표준과 함께 제공한다.

Bluetooth

  • Bluetooth Profile : SPP ( Serial Port Profile )
  • It’s easy to program with host side serial port access.

 

Bluetooth

USB

  • USB Class : USB HID (Human Interface Device).
  • It’s not need to install the device driver manually.
  • All OS(windows, linux, android,.. ) supporting the USB HID device driver by default.

 

USB

스펙

스펙

 Sensor  Light Sensor
 Measuring duration  1 minute
 측정데이터 표시  측정화면  실시간 심박수, 남은시간표시바, 맥파파형,  심박음유무, 전지잔량, Bluetooth상태,

 USB상태, 심박표시바, 혈류지수표시

 ANS Balance  SNS Act. and PSNS Act. 막대그래프로 표시
 SNS : PSNS  SNS : PSNS 비 결과값 표시
 SNS Act.  2.0 ~ 9.0 msec^2
 PSNS Act.  2.0 ~ 9.0 msec^2
 ANS Activity  20 ~ 80 (nu)
 HRV Index  2.0 ~ 33.0
 Histogram  X축 : 평균심박수 Y축 : 발생빈도
 데이터 항목 및 값의 범위  HR (Heart Rate)  30 ~ 240bpm (30 ~ 160 ± 1bpm, 161~240, ±3bpm)
 PI (Perfusion Index)  0.1 ~ 20% (±10%)
 SNS Act. (Sympathetic nervous  System Activity)  2.0 ~ 9.0 msec^2
 PSNS Act. (ParaSympathetic nervous System Activity)  2.0 ~ 9.0 msec^2
  ANS Activity (Autonomic nervous System Activity)  2.0 ~ 9.0 msec^2
 SNS : PSNS  20 ~ 80 (nu)
 HRV-Index (Heart rate Variability-Index)  2.0 ~ 33.0  
 ADC Resolution  12 bits
 Sampling Frequency  256Hz
 Power  Battery or USB bus power
 Battery  AAA 1.5V x 2ea
 Battery life  up to 6 hours (Bluetooth paired and continuous operation)
 Current consumption  100mA at 3V (Bluetooth paired, finger out) 110mA at 3V (Bluetooth paired, finger in)
 Dimension  37mm x 67mm x 36mm (width x length x height)
 Weight  38g (no battery) 61g (include battery)
 Housing material   ABS (acrylonitrile butadiene styrene copolymer)
 Interface  Bluetooth, USB
 Display  Graphic OLED, 64×128 pixel, yellow-blue 2color
 Sound  Operation effect and heart beat sound from inner specker
 Bluetooth  Bluetooth version  Bluetooth Spec. V2.0 EDR (Enhanced Data Rate)
 Class  Class2
 Profile  SPP (Serial Port Prefile)
 Pairing Password  1234
 Serial Port Setting  Baud Rate : 115,200 bps Data bits : 8 bit

 Stop bit : 1 bit

 Parity : None 

 USB  USB version  USB 2.0 full speed
 Function  HID (Human Interface Device)
 Device driver  USB HID (OS included)
 Light wavelength  940nm (Infrared)
 Light noise immunity  Light noise is minimized using ELP(Environment Light Protection)   Technology.
 Heart Beat Detection Method  High precision Peak Detection from 2nd Derivatives of PPG
 Clock for Heart Beat Interval Measurement  The time interval of heart beat is measured by high precision clock. Clock Resolution : 0.000976 sec.

 Clock Accuracy : 0.002%

 – The clock is divided by 32 from main clock.

 – Main clock : 32.768k HZ Quatz Crystal Oscillator with accuracy :  ±20ppm (0.002%)

 Environment Requirements  Operation temperature  -20 ~ 60 ℃ (Humidity : -30 ~ 80%RH)
 Storage temperature  -40 ~ 70 ℃ (Humidity : -20 ~ 90%RH)

 

 

의료인증

ubpulse H3  식약처 허가사항.

  • 의료기기품목허가번호 : 제허 13-1107호
  • 품목명 : 맥파분석기. 품목코드 : A23050.01
  • 제조원 : (주)락싸

 

 ubpulse H3 식약처 허가증. 다운로드 or 웹에서 바로보기.

 

 

기기사용법

자율신경검사

 

ubpulse H3 는 기기내에 손가락을 배치하면 이후 자동으로 셋팅 , HRV 검사진입, 오류시 재 검사 진행되어 사용자의 개입이 전혀 요구되지 않고 자동 검사 완료되며, 즉시 검사결과를 기기 화면에서 확인가능하다.

단계 1. 기기 전원 켜기.

단계 2. 기기에 손가락 배치후 검사 완료 1분동안 기다림.

단계 3. 1분 이후 검사결과 화면 보기.

 

자율신경 검사 결과 화면 .

  • ANS balance : 자율신경 균형 교감신경활성 부교감 신경 활성 비율을 보여준다.
  • Activities of SNS, PSNS and ANS. : 교감신경활성, 부교감신경 활성, 자율신경 전체 활성 정도를 보여준다.
  • Histogram of heart rate and HRV Index.: 심박 히스토그램과 HRV 인덱스 값을 보여준다.

결과화면의 용어.

  • ANS : Autonomic Nervous System. 자율신경계.
  • SNS : Sympathetic Nervous System. 교감신경계.
  • PSNS : Para Sympathetic Nervous System. 부교감신경계.
  • HRV : Heart Rate Variability. 심박변이도.

 

초간단 사용 비디오 보기.

 

문서. ubpulse H3 퀵가이드

 ubpulse H3 퀵가이드. 다운로드 or 웹에서 바로보기.

화면 디스플레이

ubpulse H3 내장된 OLED 디스플레이로 1분 측정 중의 모든 상태를 실시간으로 보이며, 1분 측정 완료후 HRV 검사 결과가 화면에서 표현된다.

검사결과는 총 4페이지 화면으로 구성되어 있고,. 기기의 버튼 “M” 을 클릭하여 화면 전환 가능하다.

 

 

임상표준

 

  • ubpulse H3 결과 화면에서는 수치와 더불어 임상표준 판정치도 같이 표현.
  • 임상표준 표현에서 화살표의 위치로 자율신경계 활성정도가  표준대비 큰 값인지 작은 값인지 검사결과의 정량적 판정가능.
  • 아래 이미지의 검사결과 화면예에서는  부교감 신경계의 비정상적으로 높은 상태임을 보여주고 있고, 다른 검사 값들은 정상적인 상태를 보이고 있다.

 

 

개발자 가이드. Bluetooth 통신

ubpulse H3 의 통신 규격은 완전히 공개 되어있으며, 개인,  기업 누구나 기기와 통신하는 호스트 응용 프로그램 개발가능하다. 의료품질 심박측정, 자율신경 검사 기능을 응용 프로그램에서 모두 활용가능하다.

ubpulse H3은 센서 내에 맥파(PPG, PhotoPlethysmoGraph) 측정에 필요한 모든 회로 및 디지털 프로세서, 스피커, OLED 디스플레이, 전원부등 측정에 필요한 모든 요소가 내장되어있고, 모든 측정과 자율신경 검사 과정이 자동으로 이뤄진다. 손가락을 센서에 배치한 상태를 인식하여, 최적 측정 세팅이 자동으로 진행되며,  연속 측정 및 디지털신호처리, 데이터 전송이 이뤄진다.  ubpulse H3는 측정데이터와 검사결과 데이터 2종 모두 호스트측으로 전송가능하다.

 

ubpulse H3 와 블루투스 통신 가능한 기기

ubpulse H3 의 블루투스 프로파일은 SPP (Serial Port Profile) 이 구현되어있어서, 모든 블루투스 SPP 지원하는 호스트기기에서 통신가능하다. 블루투스 기능이 없는 데스크 탑인 경우 저렴한 블루투스 USB동글 을 장착하면 통신가능하다. 모든 최신 안드로이드 폰에서는 블루투스 SPP 지원된다.
주의사항.  – 애플의 모든 기기는 블루투스 SPP 지원되지 않으므로 사용불가. .

Bluetooth

ubpulse H3 . 호스트기기에서 com 포트로 인식.

호스트 기기에서는 ubpulse H3 가 블루투스로 연결하게 되면 자동으로 com 포트로 인식된다. 호스트 응용프로그램에서는 일반적인 시리얼 통신으로 기기 와 통신가능하다.

개발툴 조건 : com 포트 통신 코딩가능한 모든 개발툴에서 기기와의 통신 구현가능하다.

툴 예. .

  • 스마트폰  : 안드로이드 스튜디오. 이클립스 등.
  • 윈도우 PC  : MS Visual Studio(C #, C ++, Basic, etc.), 파이썬, 델파이, 자바, 랩뷰, 매트랩 등.

개발자용 통신 규격 문서.

 LXD13. ubpulse H3 실시간 측정치 통신규격.  다운로드 or 웹에서 바로보기.
 LXD14. ubpulse H3 HRV 분석(자율신경 기능검사) 통신규격. . 다운로드 or 웹에서 바로보기.

LXSDF T2 표준 기반 통신.

ubpulse H3 의 통신기반표준은 LXSDF T2 가 사용되고 있고 기기와의 통신 구현시 상기 데이터 배치 규격외에 LXSDF T2 규격 필수 이해 요구된다.

통신표준 LXSDF T2 모든 정보 : http://laxtha.net/lxsdf-t2

통신. 실시간 측정

 

ubpulse H3 에서 측정된 원시파형데이터 및 분당심박수등의 계산치들은 디지털화 되어 ubpulse H3에 내장된 Bluetooth를 통하여 호스트기기와의 실시간 전송가능하다. Bluetooth SPP(Serial Port Profile) 가 지원되는 모든 기기에 연결가능하며, 스마트폰, 태블릿, PC등에서 사람의 PPG측정정보를 활용 가능하다. ubpulse H3을 도입한 개발자가 작업할 부분은 개발 프로그램에서 시리얼 포트 오픈하여 장치에서 전송되는 데이터를 수신하는 부분의 코드구현이다.

 

 LXD13. ubpulse H3 실시간 측정 통신규격.  다운로드 or 웹에서 바로보기.

통신. HRV 검사

 

ubpulse H3 의 HRV 검사기능 시작은 기본적으로 기기에서 자동으로 시작 혹은 호스트에서 검사 시작 명령으로도 시작가능하다. 1분 동안의 검사가 완료되면 기기 내부적으로 모든 계산처리가 완료되어 호스트 측으로 HRV 검사 결과 데이터를 전송한다.

호스트 응용 프로그램에서는 기기의 HRV 검사 전체과정과 연동된 코드 작성해야하므로 기기의 HRV검사 과정을 명확히 이해 해야한다.

ubpulse H3 에 사용자가 손가락을 배치하면 기기에서 자동 감지하며, 3초 정도 소요되는 자동셋팅과정에서 최적의 신호측정이 되는 상태를 달성한다. 이후 3초 정도 지나면 자동으로 HRV 검사 모드로 진입한다. HRV 검사 모드 중에 사용자의 혈류량이 비정상적으로 작은 값으로 나타난 경우 1분이 완료되기 전에 자동으로 검사 중지 하게되며, 저혈류판정결과를 디스플레이한다.

만일 측정 중에 사용자가 손가락을 심하게 움직인 경우에는 처음부터 다시 검사를 시작하게된다.
만일 심각한 비정상 저혈류가 아닌 경우에는 정상적으로 1분 경과한 시점에 검사가 중지되며, 이때 다시 한번 저혈류 판정이 이뤄진다. 만일 저혈류인 경우에는 저혈류 판정결과를 제시한다. 저혈류가 아닌경우 비정상심박 판정을 하게되며 비정상 심박인 경우 비정상 심박임을 표현한다. 부정맥 같은 질환등이 이상심박을 보이는 가장 대표적인 원인이며 이와 같은 이상심박이 있는 경우에는 HRV분석이 적용될 수 없다.

저혈류도 아니고, 비정상심박도 아닌 경우 HRV분석이 시행되어 최종적인 분석결과들이 정리되어 표현된다. .

 LXD14. ubpulse H3 HRV 분석 통신규격. 다운로드 or 웹에서 바로보기.

프로그래밍 가이드

LXSDF T2 형식의 통신포맷을 사용하는 ubpulse H3 와 통신하기 위한 호스트측의 프로그램 전체 구조를 그림에 보이고 있다. 호스트에서는 가장 먼저 COM포트 오픈 하는 것으로 시작한다.

  1. COM Read Bytes : com 포트에서 순차적으로 수신된 바이트열들 읽기.
  2. LXSDF T2 Tx Packet Extraction : 패킷의 시작점을 의미하는 SyncByte (255, 254 순으로 데이터 배치)  검출하여 패킷단위 분리.
  3. LXSDF T2 Tx elements : packet 요소들을 분리. 본 과정에서 확보된 각 패킷 요소들은 제품별로 그 의미가 다를 수 있다.
  4. Get device providing data : ubpulse H3 의 데이터 배치정보(아래 2개 문서) 참조하여 데이터 활용.

 LXD13. ubpulse H3 통신 규격. 실시간 측정.  다운로드 or 웹에서 바로보기.
 LXD14. ubpulse H3 통신 규격. HRV 검사.  다운로드 or 웹에서 바로보기.

 

코드예 . T2 Tx 패킷 추출및 패킷 요소 확보.

앞의 그림2의 단계 2와 3의 처리 코드 예를 보인다(C#코드). 간단한 일반 함수만 사용되고 있는것이라 언어와 무관하게 전체적인 코딩방법론은 동일하다. 구현로직은 다양할 수 있으니 개발자 본인 스타일대로 구현가능.

        // transmit the data received by serial with the function by 1 byte  in order .
        // processing  in the function : Find the sync spot and abstract data by each packet TX Index .
        
        bool Sync_After = false;
        byte Packet_TX_Index = 0;
        byte Data_Prev = 0; // PREVALUE
 
        byte PUD0 = 0;
        byte CRD_PUD2_PCDT = 0;
        byte PUD1 = 0;
        byte PacketCount = 0;
        byte PacketCyclicData = 0;
        byte psd_idx = 0;

        int Parsing_LXSDFT2(byte data_crnt)
        {
            int retv = 0;

            if (Data_Prev == 255 && data_crnt == 254)// Found sync spot.
            {
                Sync_After = true;
                Packet_TX_Index = 0;                  // Initialize  packet  TX Index  0.
            }
            
            Data_Prev = data_crnt;                   // receive the present value as pre value.

            if (Sync_After == true)                  // only task after discovering sync.
            {
                Packet_TX_Index++;                    // increase TX Index 1. The spot where is discovered 254 is 1. Whenever receiving 1 byte as serial, it increases 1.
                if (Packet_TX_Index > 1)              // only task over TX Index  2.
                {
                    if (Packet_TX_Index == 2)            // occupied TX Index2 PUD0.
                        PUD0 = data_crnt;
                    else if (Packet_TX_Index == 3)       // occupied TX Index 3 CRD, PUD2, PCD Type 
CRD_PUD2_PCDT = data_crnt;
                    else if (Packet_TX_Index == 4)       // occupied TX Index 4  PC. 
                        PacketCount = data_crnt;
                    else if (Packet_TX_Index == 5)       // occupied TX Index 5  PUD1.
                        PUD1 = data_crnt;
                    else if (Packet_TX_Index == 6)       // occupied TX Index 6 PCD(Packet cyclic data) .
                        PacketCyclicData = data_crnt;
                    else if (Packet_TX_Index > 6)        // Stream data(wave-pattern data) enters one each in order in more than TX Index 7. the data procedure to receive ->  it is recorded in order of Ch 1 high byte , Ch 2 high byte low byte..
                    {
                        psd_idx = (byte)(Packet_TX_Index - 7); // Packet Stream Data arrangement Index.
                        PacketStreamData[psd_idx] = data_crnt; // crnt data is occupied in order and stream data is only occupied.
                        if (Packet_TX_Index == (Ch_Num * 2 * Sample_Num + 6)) // Channel number  x 2( 2bytes occupation) x Sample capacity + 6(Index value before the front section of wave-pattern data) is the end of one packet.
                        {
                            Sync_After = false; // Be false to search sync spot again.
                            retv = 1; // If Passing of 1 packet unit is finished, it will be returned.
                        }
                    }
                } //if (Packet_TX_Index > 1)

            }
            return retv; //If 1  packet is finished, others return 0.
        }

 

COM포트 자동탐색

 

본 설명은 PC 에서 com 포트로 인식된 기기의 경우, 윈도우 운영체제에서는 고정된 com 포트가 할당되지 않아서 응용 프로그램에서 자동으로 기기 탐색하는 방법에 대한 설명이다.  마이크로 컨트롤러 와 같은 MCU의 UART 기반 통신인 경우에는 해당 UART 로 연결된 기기는 항상 고정되어 있으므로 본 설명이 적용되지 않는다.

PC에서 기기와의 com 통신이 요구되는  응용프로그램에서 사용자에게 com 포트를 직접 수동으로 입력하게 하는 방식의 운용은 임시 개발중인 프로그램에서는 개발자 본인에게는 큰 불편함 없으나, 상용 프로그램으로 구현하는 경우 상품성 저하 요소이므로 사용자에게 com포트번호 입력을 요구하지 않도록  com 포트에 연결된 기기중 ubpulse H3  자동 탐색기능을 제공하면 쉬운 사용성이 달성된다.

COM 포트 탐색 방법.

LXSDF T2 규격에서는 PCD[31] 에 “COM 포트 탐색정보”가 기록되어있고, 동시에 PCD[30] 에는 기기 고유 번호에 해당하는 LXDeviceID가 기록되어있고, ubpulse H3 의 LXDeviceID 는 1로 설정되어있다. 이 정보를 활용하면 응용프로그램에서 통신할 기기의 com 포트 자동탐색 가능하다.

아래 그림과 설명처럼 PC의 모든 com 포트를 스캔하는 방식으로 원하는 기기의 com 포트 자동 탐색가능하다.

 Flow Chart  Steps.  Description
 Step 1. com포트 1개 열어서, sync bytes (255, 254)  검출되면 step2 로 진행. sync bytes 검출되지 않는다면    LXSDF T2 패킷은 아니므로 현재 com 포트 닫고 다음 com 포트 오픈하여  step 1 반복.
 Step 2.  PCD[31] 의 값이  108 이면 Step3 진행. PCD[31] 의 값이 108 아니면 step1 진행.
 Step 3. PCD[30] 값을 읽어서 그 값이 통신하려는 LXDeviceID 가 1이면 현재 com 포트번호에 ubpulse H3가 연결되어있다는 의미이므로, 이후 응용프로그램은 본 과정에서 발견된 com 포트 번호와 통신 시행.

 

코드 예 : COM 포트 자동 탐색

C# 코드예.

            int bytestoread = sp.BytesToRead;   // occupied  byte number in Com port buffer. Sp is serial port object.

            // OUTPUT 1. Whether it is our device or Not? Our device must have the data in COM port..
            if (bytestoread == 0) { return; }  // If there is no data which can  be read in  COM port, this is not  LXSDF T2 format. LXSDF T2 transmits the data every time.

            /// If there is some data to read in COM port, it reads all the data. 
            byte[] rbuf = new byte[bytestoread]; // created the memory size dynamically. 
            bool find_sync = false;
            sp.Read(rbuf, 0, bytestoread); //  received in rbuf tentatively..
            // OUTPUT 2. Check sync .
            for (int i = 0; i < bytestoread-1; i++) // 
            {
                if (rbuf[i] == 255 && rbuf[i + 1] == 254) // Found the sync spot. 
                {
                    find_sync = true;
                    break; // break the loop 
                }
            }
            if (find_sync == false) return; // If there is no data in order of 255, 245, this is not  LXSDF T2. 
            ///OUTPUT 3. Check the packet cyclic data in case of detecting some sync.  Must receive over certain time data continuously to check it.
            byte[] cbuf = new byte[4096];
            int bytetoreadlimit =0;
            int readbytenum = 0;
            int sum_readbytenum = 0;
            bool while_continue = true;
            byte Packet_Count =0;
            byte PacketCyclicData = 0;
            bool find_108 = false;
            byte find_ComDeviceID = 0; // ComDeviceID allots more than value 1.
            byte find_NumChannel = 0;
            byte find_NumSample = 0;
            byte find_firmversion = 0;

            while (while_continue)
            {
                if(sp.BytesToRead > 4096)
                    bytetoreadlimit = 4096;
                else
                    bytetoreadlimit = sp.BytesToRead;
                
                readbytenum = sp.Read(cbuf, 0, bytetoreadlimit); // read the data and figure the byte cumulative sum.
                
                sum_readbytenum += readbytenum;
                
                for (int i = 0; i < readbytenum-3; i++)
                {
                    if (cbuf[i] == 255 && cbuf[i + 1] == 254) // detected sync spot.
                    {
                        Packet_Count = cbuf[i + 4];           // occupied packet count value.
                        PacketCyclicData = cbuf[i + 6];       // occupied packet cyclic data.

                    

    if (Packet_Count == 31 &&  PacketCyclicData == 108)// If packet count is 31 and packet cyclic data is 108, it is surely  LXSDF T2 Type.
                            find_108 = true;
                        else if(Packet_Count == 30)                      // This spot  is for Product ID.
                            find_ComDeviceID = PacketCyclicData;
                        else if (Packet_Count == 29)                     // This spot is for firmware version number. It is necessary if updating firmware by UART.
                            find_firmversion = PacketCyclicData; 
                        else if (Packet_Count == 28)                     // Channel number transmitted into stream data.
                            find_NumChannel = PacketCyclicData;
                        else if (Packet_Count == 27)
                            find_NumSample = PacketCyclicData;

                        if (find_108 && find_NumSample > 0)  // This means loof break because  find_NumSample is in packet count 27 and  find_108 is in packet count 31. If both value were found , Medium value could be found.
                        {
                            while_continue = false;
                            break;
                        }
                        
                    }
                }
                /// Designate the maximum value to review how many data can be received in COM port.  If this value is too big, it takes very long time to search the device. So it’s good to set the small value.
                /// To search the device by LXSDF T2 type , The minimum needed data capacity  must  be  at least 32 packets. In other words, 68bytes ( byte capacity of 1 packet) x 32 = 2176 bytes.  It’s possible to exam device search information because it has 3000 bytes enough to be 32 packets.
                ///   Formula : byte capacity of 1 packet  can find the answer as 8 bytes + 64 bytes .
                /// 8 bytes : 1 packet is 8 bytes  from Tx Index 0  to 6 
                /// 64  bytes :  Stream area is  channel number * 2(bytes) * sample number, though it has different value by each product . Because the maximum channel number allotted from LXSDF T2 is 8 and sample number is within 4, the maximum  is  64 bytes.
                /// x 32 : must receive 32 packets to communicate packet count 0 to 31.
                if (sum_readbytenum > 3000)  // Forcing  Loof  break condition. 
                {
                    while_continue = false;
                    break;
                }
            } // while

 

 

개발자 가이드. USB 통신

 

  • ubpulse H3 는 USB 케이블로 호스트 기기와 연결하여 기기 전원공급과 호스트 응용프로그램과 통신.
  • ubpulse H3 USB Class : USB HID (Human Interface Device).
  • USB HID 드라이버는 모든 운영체제(윈도우즈, 리눅스, 안드로이드 등) 에서 기본 제공되므로 수동 드라이버 설치 하지 않아도 호스트기기에서 자동 인식되어 초간단 활용 가능.

 

USB

 

주의.

환경적 요인으로 PC에서의 전기 노이즈가 매우 큰 경우가 있으며, USB 케이블로 기기측으로 전원 노이즈가  유입되어 측정 오류발생하는 경우 있으니 해당 환경에서는 USB 사용을 금합니다.

ubpulse API 윈도우용

 

LXSMWD12 시스템 구조

ubpulse H3  를 PC 로 USB 연결하면 USB HID 기기로 인식. LXSMWD12 는 USB HID 드라이버와 통신하면서 기기와의 실시간 통신을 수행하고 동시에 응용 프로그램측으로 함수 및 메시지를 제공하여 응용프로그램에서 기기와의 통신 중개 역할 수행. 통신 로레벨 코딩, 데이터 파싱등의 복잡한 처리사항들이 LXSMWD12 에서 이미 구현 완료 되어있으므로 응용프로그램측에서  쉽게 기기통신 기능 구현가능.

특징

  • ubpulse API for Windows.
  • API type : DLL (Dynamic Link Library).
  • DLL name : LXSMWD12
  • API Making tool : Visual C++ 6.0. win32 API DLL project.
  • Supporting platform : 32bit.
  • Supprting OS : Windows 10,  8.1, 8, 7.
  • Recommended IDE for developing the application program :  Visual C++ 6.0,2010, 2015, 2017.
  • 버전 : 1.1 (2018년 9월 12일)

 

개발자 매뉴얼

 LXD33. LXSMWD12 개발자 매뉴얼.   다운로드 or 웹에서바로보기.

 

LXSMWD12 시작하기.

단계1. 다운로드 , 차단해제, 압축해제하기.

 LXSMWD12.zip 다운로드.

주의. LXSMWD12.zip 다운로드 후에 먼저 속성에서 차단해제 이후 압축풀기. 동영상에서 방법 확인필.

단계2. 응용프로젝트 폴더로 파일 복사

files  copy to 
  • LXSMWD12.dll
응용프로그램의 실행파일이 있는 폴더에 복사.
  • LXSMWD12.h
  • LXSMWD12.lib
응용프로그램 프로젝트의 소스 폴더에 복사.

 

단계3. DLL 링크

Visual C++ 인 경우 아래 코드 처럼 DLL 의 implicit linking 하는 구문 추가하고 LXSMWD12.h 파일 인클루드 시킨다.

#pragma comment(lib,"LXSMWD12.lib") // DLL implicit linking

#include "LXSMWD12.h"

본 설정으로 LXSMWD12 에서 제공하는 함수와 메시지를 모두 활용 가능한 준비 상태 달성됨.

 

샘플 프로젝트 소스. – TEST_LSMWD12

LXSMWD12.DLL 활용하는 방법을 보이는 간단한 프로젝트 소스. Visual C++ 6.0 으로 제작됨.

 

TEST_LXSMWD12 다운로드

 TEST_LXSMWD12.zip  다운로드.

주의. zip 파일 다운로드후 차단해제후 압축풀기. 상세방법 동영상 참조.

TEST_LXSMWD12.exe 사용법

동영상 : ubpulse H3 를 PC에 연결한 상태에서 TEST_LXSMWD12.exe 실행.

 

동영상 : TEST_LXSMWD12.exe. 실행상황 상세보기.

 

동영상 : TEST_LXSMWD12.exe. 에서 HRV 검사결과 데이터 확보단계 상세보기. 

다운로드

 

사용자 문서.

 ubpulse H3 퀵 가이드. 다운로드 or 웹에서 바로보기.


개발자 문서. 블루투스 시리얼 통신.

 LXD13. ubpulse H3 통신 규격. 실시간 측정.  다운로드 or 웹에서 바로보기.
 LXD14. ubpulse H3 통신 규격. HRV 검사.  다운로드 or 웹에서 바로보기.


개발자 문서. LXSMWD12 ubpulse API for Windows.

 LXD33. LXSMWD12 개발자 설명서. 다운로드 or 웹에서 바로보기.

 LXSMWD12.zip 다운로드.

 TEST_LXSMWD12.zip  다운로드.


의료인증.

 ubpulse H3 한국 식약처 허가증. 다운로드 or 웹에서 바로보기.

구입방법

 

락싸 한국 이숍. ubpulse H3  :  http://laxtha-eshop.kr/goods/view?no=149

네이버 스토어 락싸이숍. ubpulse H3 : https://smartstore.naver.com/laxtha_eshop/products/4104320661

쿠팡 락싸이숍. ubpulse H3 : https://coupa.ng/bgJw8i

락싸 이숍 ubpu...

Suggest Edit