TODOPIC

Lenguajes de programación para PC => C, C#, C++ => Mensaje iniciado por: IAO en 06 de Enero de 2020, 11:10:23

Título: codigo C# un problema en "modo xy" del programa.
Publicado por: IAO en 06 de Enero de 2020, 11:10:23
Hola para todos.
Y buen año 2020 tengan los foreros y foráneos  :-/

Estimados verdugos e intelectuales de C#, vengo de días modificando un
programa que es dominio público y pertenece a un mini osciloscopio que compré
hace unos años atrás llamado XProtolab.

Todo está funcionando como veran en las imagenes. Recibe bien las señales
y las muestra en la PC,  en la pantalla del Xprotolab lo muestra todo perfecto.

Paso a mostrar las imagenes para poder explicar mejor.


 - Tienes que ingresar para ver archivos adjuntos -
 

Como podrán observar todo esta trabajando bien aparentemente.
El problema está en esta imagen a la cual le he puesto un circulo rojo
para destacar el inconveniente exactamente.



 - Tienes que ingresar para ver archivos adjuntos -

Esta es la parte del código que me tiene trabado desde el 31-12-2019
he probado muchas opciones, pero no doy.
Esa línea que retorna haciendo un arco y está resaltada en un círculo rojo
debería estar junto a la que es perpendicular.
Esa figura representa un diodo el cual esta en las puntas del XProtolab.
Espero haberme explicado bien, hay ocaciones pienso que fui explícito y
resulta que no supe transmitir la idea.

Código: [Seleccionar]
//***Draw I/V with DrawLine.
            for (float k = 0; k < xmax; k += 2) 
            {
                if (chBox_CH2On.Checked)
                {
                    if (ShowSamplesOn == false) 
                    {
                        if (k == 0) continue;
                        k += 2;
                        xn1 = H[(int)k];
                        yn1 = V[(int)k];                     
                        k += 2;
                        xn2 = H[(int)k];
                        yn2 = V[(int)k];   
                   
                        Pens1 = new Pen(Brushes.Yellow, 4.1F);
                        g.DrawLine(Pens1, ((xn1) + 60), ((yn1) - 60), ((xn2) + 60), ((yn2) - 60));
                        xn1 = xn2;
                        yn1 = yn2;
                        }                   
                 }
            } SerialBusy = false;

Pienso que uno de los valores xn1 ó xn2, yn1 ó yn2 está graficando algo
fuera del rango, pero no doy con el asunto.
Si alguien entiende lo que trato de hacer y darme un empujón se lo agradecería grandemente.


Les doy las gracias anticipadas por cualquier respuesta.
Sea bondadoso con las críticas por favor  ;-) :)