diff src/g23m-aci/aci/ati_fcmisc.c @ 302:d32ac4edb634

aci: add AT%MSCAP command for tinkering with /pcm/MSCAP
author Mychaela Falconia <falcon@freecalypso.org>
date Mon, 05 Jun 2023 21:34:33 +0000
parents 4bb5772a05a3
children
line wrap: on
line diff
--- a/src/g23m-aci/aci/ati_fcmisc.c	Sun May 21 21:43:10 2023 +0000
+++ b/src/g23m-aci/aci/ati_fcmisc.c	Mon Jun 05 21:34:33 2023 +0000
@@ -107,6 +107,39 @@
 	return (ATI_CMPL);
 }
 
+/* AT%MSCAP - tinker with /pcm/MSCAP settings */
+GLOBAL T_ATI_RSLT atPercentMSCAP (char *cl, UBYTE srcId)
+{
+	EF_MSCAP mscap;
+
+	TRACE_FUNCTION("atPercentMSCAP()");
+
+	mscap.featLst1 = 0;
+	mscap.featLst2 = 0;
+	mscap.featLst3 = 0;
+	cl = parse(cl, "XXXxxx", &mscap.chnMode, &mscap.datCap1, &mscap.datCap2,
+		   &mscap.featLst1, &mscap.featLst2, &mscap.featLst3);
+	if (!cl)
+		return (ATI_FAIL);
+	pcm_WriteFile((UBYTE *) EF_MSCAP_ID, SIZE_EF_MSCAP, (UBYTE *) &mscap);
+	return (ATI_CMPL);
+}
+
+GLOBAL T_ATI_RSLT queatPercentMSCAP (char *cl, UBYTE srcId)
+{
+	EF_MSCAP mscap;
+	UBYTE version;
+	char *me="%MSCAP: ";
+
+	pcm_ReadFile((UBYTE *) EF_MSCAP_ID, SIZE_EF_MSCAP, (UBYTE *) &mscap,
+			&version);
+	sprintf(g_sa, "%s%02X,%02X,%02X,%02X,%02X,%02X", me, mscap.chnMode,
+		mscap.datCap1, mscap.datCap2, mscap.featLst1, mscap.featLst2,
+		mscap.featLst3);
+	io_sendMessage(srcId, g_sa, ATI_NORMAL_OUTPUT);
+	return (ATI_CMPL);
+}
+
 /* AT%SPVER - set custom speech version list */
 GLOBAL T_ATI_RSLT atPercentSPVER (char *cl, UBYTE srcId)
 {