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.
SKA.cs
00001 /******************************************************************************* 00002 * Copyright (C) 2016 Maxim Integrated Products, Inc., All rights Reserved. 00003 * 00004 * This software is protected by copyright laws of the United States and 00005 * of foreign countries. This material may also be protected by patent laws 00006 * and technology transfer regulations of the United States and of foreign 00007 * countries. This software is furnished under a license agreement and/or a 00008 * nondisclosure agreement and may only be used or reproduced in accordance 00009 * with the terms of those agreements. Dissemination of this information to 00010 * any party or parties not specified in the license agreement and/or 00011 * nondisclosure agreement is expressly prohibited. 00012 * 00013 * The above copyright notice and this permission notice shall be included 00014 * in all copies or substantial portions of the Software. 00015 * 00016 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 00017 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 00018 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 00019 * IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES 00020 * OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 00021 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 00022 * OTHER DEALINGS IN THE SOFTWARE. 00023 * 00024 * Except as contained in this notice, the name of Maxim Integrated 00025 * Products, Inc. shall not be used except as stated in the Maxim Integrated 00026 * Products, Inc. Branding Policy. 00027 * 00028 * The mere transfer of this software does not imply any licenses 00029 * of trade secrets, proprietary technology, copyrights, patents, 00030 * trademarks, maskwork rights, or any other form of intellectual 00031 * property whatsoever. Maxim Integrated Products, Inc. retains all 00032 * ownership rights. 00033 ******************************************************************************* 00034 */ 00035 00036 using System; 00037 using System.Windows.Forms; 00038 using System.Runtime.InteropServices; 00039 00040 00041 namespace Maxim.MAX30101GUI 00042 { 00043 public static class SKA // Steve Koh Algorithm 00044 { 00045 [DllImport("SKA.dll", CallingConvention = CallingConvention.Cdecl, SetLastError = true)] 00046 private static extern void processIrRed_R5_initialize(); 00047 [DllImport("SKA.dll", CallingConvention = CallingConvention.Cdecl, SetLastError = true)] 00048 private static extern void processIrRed_R5_terminate(); 00049 [DllImport("SKA.dll", CallingConvention = CallingConvention.Cdecl, SetLastError = true)] 00050 internal static extern void processIrRed_R5(int lapsedSecond, int[] irBuf, int[] redBuf, ref int HR, ref float SPO2, ref bool SPO2valid, ref bool HRvalid, ref float SPO2errorStatus, float[] IrBuffer_filtered_ac, float[] redBuffer_filtered_ac); 00051 00052 static public void SKA_init() 00053 { 00054 try 00055 { 00056 processIrRed_R5_initialize(); 00057 } 00058 catch (Exception ex) 00059 { 00060 throw new Exception(ex.Message + Environment.NewLine + new System.Diagnostics.StackFrame().GetMethod().Name); 00061 } 00062 } 00063 00064 static public void SKA_term() 00065 { 00066 try 00067 { 00068 processIrRed_R5_terminate(); 00069 } 00070 catch (Exception ex) 00071 { 00072 throw new Exception(ex.Message + Environment.NewLine + new System.Diagnostics.StackFrame().GetMethod().Name); 00073 } 00074 } 00075 00076 static public void SKA_work(int lapsedSecond, int[] irBuf, int[] redBuf, ref int HR, ref float SPO2, ref bool SPO2valid, ref bool HRvalid, ref float SPO2error, float[] IrBuffer_filtered_ac, float[] redBuffer_filtered_ac) 00077 { 00078 try 00079 { 00080 processIrRed_R5(lapsedSecond, irBuf, redBuf, ref HR, ref SPO2, ref SPO2valid, ref HRvalid, ref SPO2error, IrBuffer_filtered_ac, redBuffer_filtered_ac); 00081 } 00082 catch (Exception ex) 00083 { 00084 throw new Exception(ex.Message + Environment.NewLine + new System.Diagnostics.StackFrame().GetMethod().Name); 00085 } 00086 } 00087 } 00088 }
Generated on Tue Jul 12 2022 21:52:40 by
1.7.2