コード例 #1
0
ファイル: ecg-parser.c プロジェクト: kissthink/ecg
float ecg_get_magnitude(ECG *ecg, ECGChannel channel, int frame)
{
	if (ecg == NULL)
		return 0.0f;

	if (ecg->priv == NULL)
		return 0.0f;

	switch (ecg->format)
	{
	case ECG_TYPE_TLC5000_BIN:
		return tlc5000_bin_get_magnitude(ecg->priv, channel, frame);

	case ECG_TYPE_TLC5000_ECG:
		return tlc5000_ecg_get_magnitude(ecg->priv, channel, frame);

	default:
		return 0.0f;
	}

	return 0.0f;
}
コード例 #2
0
ファイル: tlc5000.bin.c プロジェクト: kirushyk/gtk-ecg-viewer
float tlc5000_bin_get_magnitude(TLC5000Bin *priv, ECGChannel channel, int frame)
{
    if (priv == NULL)
        return 0.0f;

    switch (channel)
    {
    case ECG_CHANNEL_I:
        return tlc5000_bin_get_magnitude(priv, ECG_CHANNEL_II, frame) - tlc5000_bin_get_magnitude(priv, ECG_CHANNEL_III, frame);
    case ECG_CHANNEL_II:
        return (tlc5000_bin_get_integer_magnitude(priv, 0, frame) * -2e-3f) + 4.096f;
    case ECG_CHANNEL_III:
        return (tlc5000_bin_get_integer_magnitude(priv, 1, frame) * -2e-3f) + 4.096f;
    case ECG_CHANNEL_V1:
        return (tlc5000_bin_get_integer_magnitude(priv, 7, frame) * 2e-3f) - 4.096f;
    case ECG_CHANNEL_V2:
        return (tlc5000_bin_get_integer_magnitude(priv, 6, frame) * 2e-3f) - 4.096f;
    case ECG_CHANNEL_V3:
        return (tlc5000_bin_get_integer_magnitude(priv, 5, frame) * 2e-3f) - 4.096f;
    case ECG_CHANNEL_V4:
        return (tlc5000_bin_get_integer_magnitude(priv, 4, frame) * 2e-3f) - 4.096f;
    case ECG_CHANNEL_V5:
        return (tlc5000_bin_get_integer_magnitude(priv, 3, frame) * 2e-3f) - 4.096f;
    case ECG_CHANNEL_V6:
        return (tlc5000_bin_get_integer_magnitude(priv, 2, frame) * 2e-3f) - 4.096f;
    case ECG_CHANNEL_AVR:
        return (tlc5000_bin_get_magnitude(priv, ECG_CHANNEL_I, frame) + tlc5000_bin_get_magnitude(priv, ECG_CHANNEL_II, frame)) / -2.0f;
    case ECG_CHANNEL_AVL:
        return tlc5000_bin_get_magnitude(priv, ECG_CHANNEL_I, frame) - tlc5000_bin_get_magnitude(priv, ECG_CHANNEL_II, frame) / -2.0f;
    case ECG_CHANNEL_AVF:
        return tlc5000_bin_get_magnitude(priv, ECG_CHANNEL_II, frame) - tlc5000_bin_get_magnitude(priv, ECG_CHANNEL_I, frame) / -2.0f;
    case ECG_CHANNEL_X:
        return tlc5000_bin_get_integer_magnitude(priv, 8, frame) / 255.0f;
    }
    return 0.0f;
}