public unsafe static void Hmi_ScanHexCode() { PosLaction posLaction = default(PosLaction); strxinxi strxinxi = default(strxinxi); Readdata.Readdata_ReadStr(ref strxinxi, (int)Hmi.myapp.Hexstrindex); myappinf expr_28 = Hmi.myapp; expr_28.Hexstrindex += 1; if (strxinxi.size == 0 || strxinxi.size > 2048) { Hmi.Hmi_CodeEnd(); } else { Readdata.SPI_Flash_Read(Hmi.Hexstrbuf, Hmi.myapp.app.strdataadd + strxinxi.addbeg, (uint)strxinxi.size); if (strxinxi.size == 1 && *Hmi.Hexstrbuf == 69) { Hmi.Hmi_CodeEnd(); } else { posLaction.star = 0; posLaction.end = (ushort)(strxinxi.size - 1); if (Hmi.myapp.upapp.runapptype == runapptype.run) { if (CodeRun.Coderun_Run(Hmi.Hexstrbuf, &posLaction) == 0 && Hmi.myapp.errcode < 255) { Commake.Commake_SendBackerr(Hmi.myapp.errcode); } } } } }
public unsafe static void SPI_Flash_Read(ref byte[] buf, uint add, uint qyt) { fixed(byte *ptr = buf) { Readdata.SPI_Flash_Read(ptr, add, qyt); } }
//public unsafe static uint Datafind_FindU32_Flash(uint* val, uint datastar, ushort datarows, ushort datalenth) //{ // int i = 0; // int num = (int)(datarows - 1); // uint[] array = new uint[2]; // uint result; // while (i < num) // { // uint num2 = (uint)(i + (num - i >> 1)); // fixed (void* ptr = array) // { // Readdata.SPI_Flash_Read((byte*)ptr, datastar + num2 * (uint)datalenth, 8u); // } // if (array[0] > *val) // { // num = (int)(num2 - 1u); // } // else // { // if (array[0] >= *val) // { // result = array[1]; // return result; // } // i = (int)(num2 + 1u); // } // } // fixed (void* ptr2 = (void*)(&array[0])) // { // Readdata.SPI_Flash_Read((byte*)ptr2, (uint)((ulong)datastar + (ulong)((long)(i * (int)datalenth))), 8u); // } // if (array[0] == *val) // { // result = array[1]; // return result; // } // result = 4294967295u; // return result; //} public static unsafe uint Datafind_FindU32_Flash(uint *val, uint datastar, ushort datarows, ushort datalenth) { int i = 0; int num = (int)(datarows - 1); uint[] array = new uint[2]; uint result; while (i < num) { uint num2 = (uint)(i + (num - i >> 1)); fixed(void *ptr = array) { Readdata.SPI_Flash_Read((byte *)ptr, datastar + num2 * (uint)datalenth, 8u); } if (array[0] > *val) { num = (int)(num2 - 1u); } else { if (array[0] >= *val) { result = array[1]; return(result); } i = (int)(num2 + 1u); } } fixed(void *ptr2 = array) { Readdata.SPI_Flash_Read((byte *)ptr2, (uint)((ulong)datastar + (ulong)((long)(i * (int)datalenth))), 8u); } if (array[0] == *val) { result = array[1]; return(result); } result = 4294967295u; return(result); }
public unsafe static byte Hmi_RefPage(ushort index) { strxinxi strxinxi = default(strxinxi); byte result; if (index >= Hmi.myapp.app.pageqyt) { Hmi.myapp.errcode = 3; result = 0; } else { Hmi.myapp.dpage = index; Hmi.myapp.downobjid = 255; Hmi.myapp.moveobjstate = 0; Hmi.myapp.dpagemerrypos = 0; Hmi.Hmi_ClearTimer(); Hmi.Hmi_Clearredian(0); Hmi.Hmi_ClearHexstr(); Hmi.Hmi_GuiPageInit(); if (Hmi.myapp.upapp.runapptype != runapptype.run || Hmi.myapp.binsuc != 1) { result = 1; } else { Hmi.myapp.upapp.pageidchange((int)index); Readdata.Readdata_ReadPage(ref Hmi.myapp.dpagexinxi, (int)index); Readdata.Readdata_ReadStr(ref strxinxi, (int)Hmi.myapp.dpagexinxi.zhilingstar); Hmi.myapp.dobjnameseradd = strxinxi.addbeg + Hmi.myapp.app.strdataadd; Hmi.myapp.pageobjs = (pageobjs_ *)(Hmi.myapp.mymerry + Hmi.myapp.ovemerrys); if (Hmi.myapp.dpagexinxi.zhilingqyt > 0) { Readdata.Readdata_ReadStr(ref strxinxi, (int)(Hmi.myapp.dpagexinxi.zhilingstar + 1)); Readdata.SPI_Flash_Read(Hmi.myapp.mymerry + Hmi.myapp.ovemerrys, Hmi.myapp.app.strdataadd + strxinxi.addbeg, (uint)strxinxi.size); Hmi.myapp.dpagemerrypos = (ushort)(Hmi.myapp.ovemerrys + strxinxi.size); Hmi.myapp.Hexstrindex = (ushort)(Hmi.myapp.dpagexinxi.zhilingstar + 2); Hmi.myapp.pagestate = 0; } result = 1; } } return(result); }
private unsafe static uint Findziadd(byte h, byte l, zimoxinxi *mzimo) { byte[] array = new byte[2]; ushort num = (ushort)((int)h * 256 + (int)l); uint num2 = 0u; uint num3 = (uint)((ushort)(mzimo->qyt - 1u)); uint num4 = mzimo->addbeg + Showfont.myapp.app.zimodataadd + (uint)mzimo->ascstar; uint result; while (num3 >= num2) { uint num5 = (num3 + num2) / 2u; uint add = num4 + num5 * 2u; Readdata.SPI_Flash_Read(ref array, add, 2u); if (array[0] == h && array[1] == l) { result = mzimo->addbeg + Showfont.myapp.app.zimodataadd + (uint)mzimo->datastar + num5 * (uint)mzimo->w * (uint)mzimo->h / 8u; } else { if (num3 != num2) { if ((ushort)array[0] * 256 + (ushort)array[1] > num) { num3 = num5 - 1u; } else { num2 = num5 + 1u; } continue; } result = 0u; } return(result); } result = mzimo->addbeg + Showfont.myapp.app.zimodataadd + (uint)mzimo->datastar; return(result); }
public static unsafe void Hmi_Init() { strxinxi strxinxi = default(strxinxi); appinf0 appinf = default(appinf0); Hmi.myapp.delay = 0; Hmi.myapp.brush.sta = 0; Hmi.myapp.brush.pointcolor = 0; Hmi.myapp.brush.backcolor = 0; Hmi.myapp.brush.hangjux = 0; Hmi.myapp.brush.hangjuy = 0; Hmi.myapp.brush.xjuzhong = 0; Hmi.myapp.brush.yjuzhong = 0; Hmi.myapp.upapp.lcddev.wup = 255; Hmi.myapp.brush.pw = 0; Hmi.myapp.paus = 0; Hmi.myapp.sys.thsp = 0; Hmi.myapp.sys.thsleepup = 0; Hmi.myapp.sys.ussp = 0; Hmi.myapp.touchsendxy = 0; Hmi.myapp.errcode = 255; Hmi.myapp.dpage = 0; Hmi.myapp.Hexstrindex = 65535; Hmi.myapp.downobjid = 255; Hmi.myapp.moveobjstate = 0; Hmi.Hmi_ClearTimer(); Hmi.Hmi_Clearredian(0); Hmi.Hmi_ClearHexstr(); Hmi.myapp.dpagemerrypos = 0; if (Hmi.myapp.binsuc != 1) { MessageOpen.Show("Data Error!"); } else { Touch.TP_REST(); Readdata.Readdata_ReadApp0(ref appinf); if (Hmi.myapp.app.strqyt > 0u) { Readdata.Readdata_ReadStr(ref strxinxi, 0); if (strxinxi.size < 8192) { Readdata.SPI_Flash_Read(Hmi.myapp.mymerry, Hmi.myapp.app.strdataadd + strxinxi.addbeg, (uint)strxinxi.size); Hmi.myapp.ovemerrys = strxinxi.size; } } Readdata.Readdata_ReadStr(ref strxinxi, 1); Hmi.myapp.pagenameseradd = strxinxi.addbeg + Hmi.myapp.app.strdataadd; Hmi.myapp.upapp.Lcd_Set(appinf.guidire); uint[] array = new uint[2]; Hmi.lastpagenamecrc = array; Hmi.lastpageid = new ushort[] { 65535, 65535 }; Hmi.lastobjaddr = new uint[] { 65535u, 65535u }; array = new uint[2]; Hmi.lastobjnamecrc = array; Hmi.lastobjid = new ushort[] { 65535, 65535 }; } }
private static void SendZiku(int x, int y, byte h, byte l) { byte[] array = new byte[2]; int num = x; int num2 = y; byte b = 0; if (Showfont.myapp.brush.pw != 0) { h = 0; l = Showfont.myapp.brush.pw; } uint num3 = Showfont.myapp.brush.mzimo.addbeg + Showfont.myapp.app.zimodataadd + (uint)Showfont.myapp.brush.mzimo.datastar; if (Showfont.myapp.brush.mzimo.state == 1) { if (h != 0) { if (l > Showfont.myapp.brush.mzimo.codelT0) { l -= Showfont.myapp.brush.mzimo.codelV0; } b = Showfont.myapp.brush.mzimo.w; num3 += (uint)(((h - Showfont.myapp.brush.mzimo.codeh_star) * (Showfont.myapp.brush.mzimo.codel_end - Showfont.myapp.brush.mzimo.codel_star - Showfont.myapp.brush.mzimo.codelV0 + 1) + (l - Showfont.myapp.brush.mzimo.codel_star)) * (Showfont.myapp.brush.mzimo.w / 8) * Showfont.myapp.brush.mzimo.h); } else { b = Convert.ToByte(Showfont.myapp.brush.mzimo.w / 2); num3 += (uint)((ulong)(Showfont.myapp.brush.mzimo.qyt - 95u + (uint)l - 32u) * (ulong)((long)(Showfont.myapp.brush.mzimo.w / 8)) * (ulong)Showfont.myapp.brush.mzimo.h); } } else if (Showfont.myapp.brush.mzimo.state == 0) { b = Showfont.myapp.brush.mzimo.w; num3 += (uint)((l - 32) * (Showfont.myapp.brush.mzimo.h / 8 * Showfont.myapp.brush.mzimo.w)); } else if (Showfont.myapp.brush.mzimo.state == 2) { if (h > 0) { b = Showfont.myapp.brush.mzimo.w; } else { b = Convert.ToByte(Showfont.myapp.brush.mzimo.w / 2); } num3 = Showfont.Findziadd(h, l, ref Showfont.myapp.brush.mzimo); } ushort num4 = (ushort)(Showfont.myapp.brush.mzimo.h / 8 * b); switch (Showfont.myapp.upapp.lcddev.guidire) { case 1: y = (int)((ushort)(num2 + (int)Showfont.myapp.brush.mzimo.h - 1)); break; case 2: x = (int)((ushort)(num + (int)b - 1)); y = (int)((ushort)(num2 + (int)Showfont.myapp.brush.mzimo.h - 1)); break; case 3: x = (int)((ushort)(num + (int)b - 1)); break; } for (uint num5 = 0u; num5 < (uint)num4; num5 += 1u) { Readdata.SPI_Flash_Read(ref array, num3 + num5, 1u); for (byte b2 = 0; b2 < 8; b2 += 1) { if (((int)array[0] & 1 << (int)(7 - b2)) > 0) { if (x >= (int)Showfont.myapp.brush.x && x <= (int)Showfont.myapp.brush.endx && y >= (int)Showfont.myapp.brush.y && y <= (int)Showfont.myapp.brush.endy) { Lcd.Lcd_DrawPoint(x, y, Showfont.myapp.brush.pointcolor); } } switch (Showfont.myapp.upapp.lcddev.guidire) { case 0: x++; if (x - num == (int)b) { x = num; y++; } break; case 1: y--; if (y < num2) { y = (int)((ushort)(num2 + (int)Showfont.myapp.brush.mzimo.h - 1)); x++; } break; case 2: x--; if (x < num) { x = (int)((ushort)(num + (int)b - 1)); y--; } break; case 3: y++; if (y >= num2 + (int)Showfont.myapp.brush.mzimo.h) { y = num2; x--; } break; } } } }