Chart Timeseries

Lab 3: Chart Widget (Time-Series Data)


1. ΰΉ‚ΰΈ„ΰΈ£ΰΈ‡ΰΈͺΰΈ£ΰΉ‰ΰΈ²ΰΈ‡ΰΈ ΰΈ²ΰΈžΰΈ£ΰΈ§ΰΈ‘ΰΈ‚ΰΈ­ΰΈ‡ Lab

Why? - ΰΈ—ΰΈ³ΰΉ„ΰΈ‘ΰΈ•ΰΉ‰ΰΈ­ΰΈ‡ΰΉ€ΰΈ£ΰΈ΅ΰΈ’ΰΈ™ΰΈ£ΰΈΉΰΉ‰ΰΉ€ΰΈ£ΰΈ·ΰΉˆΰΈ­ΰΈ‡ΰΈ™ΰΈ΅ΰΉ‰

  • Trend Analysis: เห็นแนวโน้ฑของข้อฑูΰΈ₯ΰΈ•ΰΈ²ΰΈ‘ΰΉ€ΰΈ§ΰΈ₯ΰΈ²

  • Multi-Sensor: ΰΉ€ΰΈ›ΰΈ£ΰΈ΅ΰΈ’ΰΈšΰΉ€ΰΈ—ΰΈ΅ΰΈ’ΰΈšΰΈ«ΰΈ₯ΰΈ²ΰΈ’ sensor ΰΈžΰΈ£ΰΉ‰ΰΈ­ΰΈ‘ΰΈΰΈ±ΰΈ™

  • Real-time Monitoring: ΰΈ”ΰΈΉ sensor data แบบ live

What? - ΰΈˆΰΈ°ΰΉ„ΰΈ”ΰΉ‰ΰΉ€ΰΈ£ΰΈ΅ΰΈ’ΰΈ™ΰΈ£ΰΈΉΰΉ‰ΰΈ­ΰΈ°ΰΉ„ΰΈ£

  1. Chart Widget: ΰΈͺΰΈ£ΰΉ‰ΰΈ²ΰΈ‡ line chart

  2. Multiple Series: ΰΉ€ΰΈžΰΈ΄ΰΉˆΰΈ‘ΰΈ«ΰΈ₯ΰΈ²ΰΈ’ data series

  3. Auto-Shift: ΰΈ‚ΰΉ‰ΰΈ­ΰΈ‘ΰΈΉΰΈ₯ΰΉ€ΰΈ₯ΰΈ·ΰΉˆΰΈ­ΰΈ™ΰΈ­ΰΈ±ΰΈ•ΰΉ‚ΰΈ™ΰΈ‘ΰΈ±ΰΈ•ΰΈ΄ (ring buffer)

  4. Styling: ΰΈ›ΰΈ£ΰΈ±ΰΈš line width, hide points

How? - ΰΈˆΰΈ°ΰΈ—ΰΈ³ΰΈ­ΰΈ’ΰΉˆΰΈ²ΰΈ‡ΰΉ„ΰΈ£

  1. ΰΈͺΰΈ£ΰΉ‰ΰΈ²ΰΈ‡ Chart widget กำหนด type ΰΉ€ΰΈ›ΰΉ‡ΰΈ™ LINE

  2. ΰΉ€ΰΈžΰΈ΄ΰΉˆΰΈ‘ 3 series ΰΈͺำหรับ X, Y, Z

  3. ΰΉƒΰΈŠΰΉ‰ timer ΰΈ­ΰΈ±ΰΈžΰΉ€ΰΈ”ΰΈ—ΰΈ‚ΰΉ‰ΰΈ­ΰΈ‘ΰΈΉΰΈ₯ทุก 100ms

  4. แΰΈͺΰΈ”ΰΈ‡ labels แΰΈͺΰΈ”ΰΈ‡ΰΈ„ΰΉˆΰΈ²ΰΈ›ΰΈ±ΰΈˆΰΈˆΰΈΈΰΈšΰΈ±ΰΈ™


2. ΰΈ«ΰΈ₯ักการทำงานแΰΈ₯ΰΈ° Flowchart

2.1 Chart Data Flow

2.2 Chart Configuration


3. ΰΈŸΰΈ±ΰΈ‡ΰΈΰΉŒΰΈŠΰΈ±ΰΈ™ΰΈͺำคัญ

3.1 Chart Functions

Function
Description

lv_chart_create(parent)

ΰΈͺΰΈ£ΰΉ‰ΰΈ²ΰΈ‡ chart

lv_chart_set_type(chart, type)

กำหนดประเภท (LINE, BAR, SCATTER)

lv_chart_set_point_count(chart, count)

ΰΈˆΰΈ³ΰΈ™ΰΈ§ΰΈ™ data points

lv_chart_set_range(chart, axis, min, max)

กำหนด Y-axis range

lv_chart_add_series(chart, color, axis)

ΰΉ€ΰΈžΰΈ΄ΰΉˆΰΈ‘ data series

lv_chart_set_next_value(chart, ser, val)

ΰΉ€ΰΈžΰΈ΄ΰΉˆΰΈ‘ΰΈ„ΰΉˆΰΈ²ΰΉƒΰΈ«ΰΈ‘ΰΉˆ (auto-shift)

3.2 Chart Types

Type
Description

LV_CHART_TYPE_LINE

ΰΉ€ΰΈͺΰΉ‰ΰΈ™ (time-series)

LV_CHART_TYPE_BAR

ΰΉΰΈ—ΰΉˆΰΈ‡ (comparison)

LV_CHART_TYPE_SCATTER

ΰΈˆΰΈΈΰΈ”ΰΈΰΈ£ΰΈ°ΰΈˆΰΈ²ΰΈ’ (X vs Y)

3.3 Performance Tips

  • Point Count: 50-100 ΰΈͺำหรับ smooth performance

  • Update Rate: 100ms ΰΉ€ΰΈ«ΰΈ‘ΰΈ²ΰΈ°ΰΈͺΰΈ‘ΰΈͺำหรับ real-time

  • Hide Points: ΰΈ₯ΰΈ” overhead ΰΈ”ΰΉ‰ΰΈ§ΰΈ’ size(0,0) ΰΈͺำหรับ indicator


4. Code Example

4.1 Global Variables

4.2 Timer Callback

4.3 Main Function


5. ΰΈ­ΰΈ‡ΰΈ„ΰΉŒΰΈ„ΰΈ§ΰΈ²ΰΈ‘ΰΈ£ΰΈΉΰΉ‰ΰΉΰΈ₯ΰΈ°ΰΉ€ΰΈ—ΰΈ„ΰΈ™ΰΈ΄ΰΈ„

5.1 Data Scaling

5.2 Ring Buffer Behavior

5.3 Grid Lines


6. ΰΉΰΈšΰΈšΰΈΰΈΆΰΈΰΈ«ΰΈ±ΰΈ”

Exercise 1: Magnitude Chart

แΰΈͺΰΈ”ΰΈ‡ Magnitude ΰΈ‚ΰΈ­ΰΈ‡ accelerometer (sqrt(xΒ² + yΒ² + zΒ²)) แทน 3 แกน

Exercise 2: Dual Y-Axis

แΰΈͺΰΈ”ΰΈ‡ Accelerometer ΰΈšΰΈ™ Y-axis ΰΈ«ΰΈ₯ัก แΰΈ₯ΰΈ° Temperature ΰΈšΰΈ™ Y-axis ΰΈ£ΰΈ­ΰΈ‡


7. References


Previous Lab: Lab 2: Arc Gauge Next Lab: Lab 4: Scale Temperature

Last updated

Was this helpful?