Example #1
0
        private void Calcolo_Click(object sender, EventArgs e)
        {
            if (String.IsNullOrEmpty(Set0.Text) == true || String.IsNullOrEmpty(Set150.Text) == true || String.IsNullOrEmpty(Set212.Text) == true || String.IsNullOrEmpty(Set300.Text) == true || String.IsNullOrEmpty(Set425.Text) == true || String.IsNullOrEmpty(Set500.Text) == true || String.IsNullOrEmpty(Set710.Text) == true)
            {
                MessageBox.Show("Non hai inserito ancora tutti i numeri !", "Errore");
            }
            else
            {
                Val710 = Convert.ToDouble(Set710.Text.Replace(",", nfi.NumberDecimalSeparator), nfi);
                D710   = Val710 - 452.61d;

                Val500 = Convert.ToDouble(Set500.Text.Replace(",", nfi.NumberDecimalSeparator), nfi);
                D500   = Val500 - 422.31d;

                Val425 = Convert.ToDouble(Set425.Text.Replace(",", nfi.NumberDecimalSeparator), nfi);
                D425   = Val425 - 416.87d;

                Val300 = Convert.ToDouble(Set300.Text.Replace(",", nfi.NumberDecimalSeparator), nfi);
                D300   = Val300 - 398.38d;

                Val212 = Convert.ToDouble(Set212.Text.Replace(",", nfi.NumberDecimalSeparator), nfi);
                D212   = Val212 - 392.64d;

                Val150 = Convert.ToDouble(Set150.Text.Replace(",", nfi.NumberDecimalSeparator), nfi);
                D150   = Val150 - 387.27d;

                Val0 = Convert.ToDouble(Set0.Text.Replace(",", nfi.NumberDecimalSeparator), nfi);
                D0   = Val0 - 411.36d;

                if (D710 < 0.00 || D710 < 0.00 || D500 < 0.00 || D425 < 0.00 || D300 < 0.00 || D212 < 0.00 || D150 < 0.00 || D0 < 0.00)
                {
                    MessageBox.Show("Attenzione, peso minore rispetto a quello originale", "Errore");
                }
                else
                {
                    if (D710 > 100 || D710 > 100 || D500 > 100 || D425 > 100 || D300 > 100 || D212 > 100 || D150 > 100 || D0 > 100)
                    {
                        MessageBox.Show("Sicuro di avere inserito i valori giusti ? Uno dei setacci ha un valore troppo alto di peso lordo", "Errore");
                    }
                    else
                    {
                        Dif710.Text = D710.ToString("#0.00");
                        Dif500.Text = D500.ToString("#0.00");
                        Dif425.Text = D425.ToString("#0.00");
                        Dif300.Text = D300.ToString("#0.00");
                        Dif212.Text = D212.ToString("#0.00");
                        Dif150.Text = D150.ToString("#0.00");
                        Dif0.Text   = D0.ToString("#0.00");
                        somma       = D0 + D150 + D212 + D300 + D425 + D500 + D710;
                        Tot.Text    = somma.ToString("#0.00");
                    }
                }
            }
        }
Example #2
0
        public void SendPacket()
        {
            int checksum = 0;

            if (PacketNum++ > 999)
            {
                PacketNum = 0;
            }

            //get all the data in string form
            String num    = PacketNum.ToString("D3");
            String A0val  = A0.ReadRaw().ToString("D4");
            String A1val  = A1.ReadRaw().ToString("D4");
            String A2val  = A2.ReadRaw().ToString("D4");
            String A3val  = A3.ReadRaw().ToString("D4");
            String A4val  = A4.ReadRaw().ToString("D4");
            String A5val  = A5.ReadRaw().ToString("D4");
            char   D0val  = D0.Read() ? '1' : '0';
            char   D1val  = D1.Read() ? '1' : '0';
            char   D2val  = D2.Read() ? '1' : '0';
            char   D3val  = D3.Read() ? '1' : '0';
            char   D4val  = D4.Read() ? '1' : '0';
            char   D5val  = D5.Read() ? '1' : '0';
            char   D6val  = D6.Read() ? '1' : '0';
            char   D7val  = D7.Read() ? '1' : '0';
            char   Btnval = Btn.Read() ? '1' : '0';

            //concat the data
            String packet = num + A0val + A1val + A2val + A3val + A4val + A5val + Btnval + D0val + D1val + D2val + D3val + D4val + D5val + D6val + D7val;

            //compute checksum
            foreach (char digit in packet)
            {
                checksum += (digit);
            }
            checksum %= 1000;

            //append checksum and protocol frame stuff
            packet = "###" + packet + checksum + "\r\n";

            //convert to byte array for sending
            byte[] bytepacket = System.Text.Encoding.UTF8.GetBytes(packet);

            //send the packet
            _serial.Write(bytepacket, 0, bytepacket.Length);
        }
Example #3
0
 public void M(D0 p0, D1 p1, D2 p2)
 {
     /* $ */
 }
Example #4
0
        private void ProcessPacket(object sender, SerialDataReceivedEventArgs a)
        {
            byte[] inBuf = null;

            int available;

            do
            {
                available = _serial.BytesToRead;
            } while (available < 14);                       //wait for all bytes before operating on data

            inBuf = new byte[_serial.BytesToRead];
            _serial.Read(inBuf, 0, inBuf.Length);
            string Packet = new string(System.Text.Encoding.UTF8.GetChars(inBuf));

            int    RemoteChecksum = Int16.Parse(Packet.Substring(11, 3)); //extract sender's checksum
            int    LocalChecksum  = 0;
            string data           = Packet.Substring(3, 8);

            foreach (char digit in data)
            {
                LocalChecksum += digit;                                 //compute our checksum
            }
            LocalChecksum %= 1000;

            if (RemoteChecksum != LocalChecksum)
            {
                return;                                     //stop packet processing if checksums don't match
            }
            string packetType = Packet.Substring(0, 3);

            //if (packetType == "$$$")                        //do SID Protocol
            //{
            //    string command = data.Substring(0, 3);
            //    string value = data.Substring(3);

            //    switch (command) {
            //        case "ENV" :    //set voice envelope
            //            break;
            //        case "VFQ" :    //voice frequency
            //            break;
            //        case "VPW" :    //voice puslewidth
            //            break;
            //        case "FFQ" :    //filter frequency
            //            break;
            //        case "FRS" :    //filter resonance
            //            break;
            //        case "SVF" :    //voice filter mode
            //            break;
            //        case "VEN" :    //voice enable: on/off
            //            break;
            //        case "VWF" :    //voice waveform
            //            break;
            //        case "AMP" :    //set volume
            //            break;
            //        case "FMO" :    //filter mode (bp, hp, lp)
            //            break;
            //    }
            //}
            #region boring
            if (packetType == "###")                        //do Mayes Protocol
            {
                D0.Write(data[0] == '1' ? true : false);
                D1.Write(data[1] == '1' ? true : false);
                D2.Write(data[2] == '1' ? true : false);
                D3.Write(data[3] == '1' ? true : false);
                D4.Write(data[4] == '1' ? true : false);
                D5.Write(data[5] == '1' ? true : false);
                D6.Write(data[6] == '1' ? true : false);
                D7.Write(data[7] == '1' ? true : false);
            }
            #endregion
        }