/* Microchip Technology Inc. and its subsidiaries.
You may use this software
* and any derivatives exclusively with Microchip products.
*
* THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
* EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY IMPLIED
* WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A
* PARTICULAR PURPOSE, OR ITS INTERACTION WITH MICROCHIP PRODUCTS, COMBINATION
* WITH ANY OTHER PRODUCTS, OR USE IN ANY APPLICATION.
*
* IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
* INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
* WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS
* BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE
* FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS
* IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF
* ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
*
* MICROCHIP PROVIDES THIS SOFTWARE CONDITIONALLY UPON YOUR ACCEPTANCE OF THESE
* TERMS.
*/
/*
* File:
* Author:
* Comments:
* Revision history:
*/
// This is a guard condition so that contents of this file are not included
// more than once.
#ifndef XC_HEADER_TEMPLATE_H
#define XC_HEADER_TEMPLATE_H
#include <xc.h> // include processor files - each processor file is guarded.
#include"HWProfile.h"
#include"MathConv.h"
// TODO Insert appropriate #include <>
// TODO Insert C++ class definitions if appropriate
// TODO Insert declarations
// Comment a function and leverage automatic documentation with slash star star
/**
<p><b>Function prototype:</b></p>
<p><b>Summary:</b></p>
<p><b>Description:</b></p>
<p><b>Precondition:</b></p>
<p><b>Parameters:</b></p>
<p><b>Returns:</b></p>
<p><b>Example:</b></p>
<code>
</code>
<p><b>Remarks:</b></p>
*/
// TODO Insert declarations or function prototypes (right here) to leverage
// live documentation
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
// TODO If C++ is being used, regular C code needs function names to have C
// linkage so the functions can be used by the c code.
//void SendPrintData(void)
//{
// unsigned char i,no;
// TXno=0;
// no=Dis_Float(5,Angl4Prnt,AngDP,ArrData);
// for(i=1;i<no;i++) TXData[i-1]=ArrData[i];
// TXno=no-1;
// TXData[TXno]=9;
// TXno++;
// TXData[TXno]=9;
//
// no=Dis_Float(5,Rslt4Prnt,1,ArrData);
// for(i=1;i<no;i++) TXData[i+TXno]=ArrData[i];
//
// TXno+=(no);
// TXData[TXno]=10;
// TXno++;
// TXData[TXno]=10;
// TXcntr=TXno;
// TXno=0;
// PIE1bits.TX1IE=1;
//}
//
//void PrintHead(void)
//{
// unsigned char i,no;
// TXData[0]=10;
// TXData[1]=0x1b;
// TXData[2]=0x21;
// TXData[3]=0x19;
// for(i=0;i<9;i++) TXData[i+4]=MLabel[156+i];
// TestNo++;
// no=Dis_Float(4,TestNo,0,ArrData);
// for(i=1;i<no;i++) TXData[12+i]=ArrData[i];
//// TXData[10]=' ';
//// TXData[11]=' ';
//// TXData[12]=' ';
//// TXData[13]=' ';
// TXData[17]=' ';
// TXData[18]=10;
//// for(i=0;i<4;i++) TXData[i+19]=MLabel[i];
//// TXData[23]='(';
//// for(i=0;i<3;i++) TXData[i+24]=ULabel[(Lunit*3)+i];
//// TXData[27]=')';
//// TXData[28]=9;
//// TXData[29]=9;
//// for(i=0;i<7;i++) TXData[i+30]=MLabel[4+i];
//// TXData[34]='(';
//// TXData[37]=')';
//// TXData[38]=10;
//// TXData[39]=10;
// for(i=0;i<16;i++) TXData[i+19]=MLabel[181+i];
//
// TXcntr=35;
// TXno=0;
// PIE1bits.TX1IE=1;
//}
//void PrintFoot(void)
//{
// unsigned char i;
// for(i=0;i<16;i++) TXData[i]=MLabel[165+i];
// TXData[16]=10;
// TXcntr=17;
// TXno=0;
// PIE1bits.TX1IE=1;
//}
//void PrintLine(void)
//{
// unsigned char i;
// for(i=0;i<14;i++) TXData[i]='-';
// TXData[14]=10;
// TXcntr=15;
// TXno=0;
// PIE1bits.TX1IE=1;
//}
//EPM203 printer
0x0d,0x1b,0x21,0x19,'-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-'
,'-','-','-','-','-','-','-','-',0x0a, //0,29
//CSN_A1X
0x1b,0x21,0x0,0x1b,0x4d,0,0x1b,0x20,0x01,'-','-','-','-','-','-','-','-','-','-','-
','-','-','-','-','-','-','-','-',0x0a, //0,29
const unsigned char PHead[100]=
{
0x0d,0x1b,0x21,0x39,'-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-'
,'-','-','-','-',0x0a,'-','-','-',0x0a, //0,29
'T','e','s','t',' ','N','o',' ',' ',':',' ',' ',' ',':', //29,14
'P','e','a','k',' ','L','o','a','d',':',' ',' ',' ',':', //43,14
'-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-',0x0
a,0x0a,'-','-',0x0a,0x0a, //57,26
'D','i','s','p',' ',' ',' ',' ',' ',':',' ',' ',' ',':', //83,14
};
extern const unsigned char ULabel[20];
extern unsigned char MBData2[NoMB];
extern unsigned char TX_pntr2,TX_End2;
extern unsigned int TestNo;
extern signed long LoadVal,DispVal1,DispVal2,PeakLoad;
extern unsigned char LoadDP,DispDP1,MODEL,LoadUnit;
void PrintHead(void)
{
unsigned char i,j,nos;
LoadData(PHead,MBData2,0,25);
TX_pntr2=0;
TX_End2=25;
PIE3bits.TX2IE=1;
while(PIE3bits.TX2IE);
LoadData(PHead,MBData2,29,10);
nos=Dis_Float(5,TestNo,0,ArrData);
for(i=0,j=10;i<nos-1;i++,j++)
{
MBData2[j]=ArrData[i+1];
}
MBData2[9+nos]=0x0a;
TX_pntr2=0;
TX_End2=10+nos;
PIE3bits.TX2IE=1;
while(PIE3bits.TX2IE);
LoadData(PHead,MBData2,43,10);
nos=Dis_Float(6,PeakLoad,LoadDP,ArrData);
for(i=0,j=10;i<nos-1;i++,j++)
{
MBData2[j]=ArrData[i+1];
}
MBData2[9+nos]=' ';
LoadData(ULabel,&MBData2[10+nos],LoadUnit*2,2);
MBData2[12+nos]=0x0a;
TX_pntr2=0;
TX_End2=13+nos;
PIE3bits.TX2IE=1;
while(PIE3bits.TX2IE);
if(MODEL==1)
{
LoadData(PHead,MBData2,83,10);
nos=Dis_Float(6,DispVal1,DispDP1,ArrData);
for(i=0,j=10;i<nos-1;i++,j++)
{
MBData2[j]=ArrData[i+1];
}
MBData2[9+nos]=' ';
MBData2[10+nos]='m';
MBData2[11+nos]='m';
MBData2[12+nos]=0x0a;
TX_pntr2=0;
TX_End2=13+nos;
PIE3bits.TX2IE=1;
while(PIE3bits.TX2IE);
}
LoadData(PHead,MBData2,57,22);
TX_pntr2=0;
TX_End2=22;
PIE3bits.TX2IE=1;
while(PIE3bits.TX2IE);
}
void SendPrintDATA(void)
{
PrintHead();
}
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* XC_HEADER_TEMPLATE_H */