void DisplayPosition3d( Position3d dtPosition3d ) { fprintf( stdout, "X" ); DisplayFloat( dtPosition3d.x ); fprintf( stdout, "Y " ); DisplayFloat( dtPosition3d.y ); fprintf( stdout, "Z " ); DisplayFloat( dtPosition3d.z ); } /* DisplayPosition3d */
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Function Header void CStaticCounter::OnLButtonUp(UINT nFlags, CPoint point) /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// { ReleaseCapture(); if (m_nLastAmount==0 && m_bAllowInteraction) // ALLOW UNIT CHANGES WHEN IT'S HARD TO DRAG FOR SMALL NUMBERS { m_fPos-=(m_bFloat?0.01f:1); // DECREMENT if (m_fPos<m_fMin) m_fPos = m_fMin; if (m_fPos>m_fMax) m_fPos = m_fMax; if (m_bFloat) DisplayFloat(m_fPos); else DisplayInt((int)m_fPos); } #ifdef WM_UPDATE_STATIC //#define WM_UPDATE_STATIC (WM_USER+0x411) // user defined WM message ::PostMessage( GetParent()->m_hWnd, WM_UPDATE_STATIC, (WPARAM)m_uID, (LPARAM)m_fPos ); #endif m_nLastAmount = 0; m_bLDown = false; }
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Function Header void CStaticCounter::OnMouseMove(UINT nFlags, CPoint point) /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// { if (! m_bLDown && !m_bRDown) return; // If neither mouse buttons are down, don't come here thinking this is an off-license, ok! if (! m_bAllowInteraction) return; // "Sorry, I'm grounded and my dad says I'm not allowed visitors" m_nLastAmount = point.x-m_nMovement; m_nMovement = point.x; if (m_bLDown) m_fPos+=(float)m_nLastAmount; else m_fPos+=(float)((float)m_nLastAmount/(float)100); if (m_fPos<m_fMin) m_fPos = m_fMin; if (m_fPos>m_fMax) m_fPos = m_fMax; if (m_bFloat) DisplayFloat(m_fPos); else DisplayInt((int)m_fPos); }
/*! * @brief OLED显示 * @since v1.0 * @note 没啥 * Sample usage: oled_display(); */ void oled_display() { //第一行显示拨码开关状态 OLED_P6x8Str(0, 0, "12345678"); OLED_P6x8Str(50, 0, "speed:"); Display_number(86, 0, vPID.Setpoint); OLED_P6x8Str(50, 1, "Error:"); Display_number(86, 1, Error); OLED_P6x8Str(0, 2, "slope:"); DisplayFloat(36, 2, slope.slope); OLED_P6x8Str(80, 2, "P:"); DisplayFloatpid(92, 2, actuator_P); OLED_P6x8Str(0, 3, "Distance:"); Display_number(54, 3, distance); OLED_P6x8Str(86, 3, "D:"); DisplayFloatpid(98, 3, actuator_D); OLED_P6x8Str(0, 4, "Bluetooth:"); if(bluetooth == 1) OLED_P6x8Str(60, 4, "connected "); else if(bluetooth == 0) OLED_P6x8Str(60, 4, "disconnect"); else OLED_P6x8Str(60, 4, "off "); OLED_P6x8Str(0, 5, "stop?"); if(stop_done) OLED_P6x8Str(36, 5, "yes"); else OLED_P6x8Str(36, 5, "no"); #if ( CAR_NUMBER == 1 ) OLED_P6x8Str(0, 7, "Interesting"); OLED_P6x8Str(91, 7, "Car:1A"); #endif #if ( CAR_NUMBER == 2 ) OLED_P6x8Str(0, 7, "Interesting"); OLED_P6x8Str(91, 7, "Car:2B"); #endif if(!gpio_get (PTE1)) OLED_P6x8Str(0, 1, "^"); else OLED_P6x8Str(0, 1, " "); if(!gpio_get (PTE2)) OLED_P6x8Str(6, 1, "^"); else OLED_P6x8Str(6, 1, " "); if(!gpio_get (PTE3)) OLED_P6x8Str(12, 1, "^"); else OLED_P6x8Str(12, 1, " "); if(!gpio_get (PTE4)) OLED_P6x8Str(18, 1, "^"); else OLED_P6x8Str(18, 1, " "); if(!gpio_get (PTE5)) OLED_P6x8Str(24, 1, "^"); else OLED_P6x8Str(24, 1, " "); if(!gpio_get (PTE6)) OLED_P6x8Str(30, 1, "^"); else OLED_P6x8Str(30, 1, " "); if(!gpio_get (PTE7)) OLED_P6x8Str(36, 1, "^"); else OLED_P6x8Str(36, 1, " "); if(!gpio_get (PTE8)) OLED_P6x8Str(42, 1, "^"); else OLED_P6x8Str(42, 1, " "); if(key_check(KEY_A) == KEY_DOWN) { OLED_Init(); //OLED初始化 防花屏 } if(key_check(KEY_U) == KEY_DOWN) //按K2重新获取两边线数组,串口接收 { get_initial_value(img, &slope); printf("const int left_initial[110] ={"); for(i = 0; i < 110; i++) { printf("%d, ", slope.left_initial_value[i]); //printf("[%d]=%d\n", i, slope.right_initial_value[i]); } printf("};\nconst int right_initial[110] ={"); for(i = 0; i < 110; i++) { printf("%d, ", slope.right_initial_value[i]); //printf("[%d]=%d\n", i, slope.right_initial_value[i]); } printf("};//Pay attention to delete the last \",\"\n"); //initial_value_get=1; } }