NXP AN14263 Framewar 'ਤੇ LVGL GUI ਚਿਹਰਾ ਪਛਾਣ ਲਾਗੂ ਕਰੋ
ਉਤਪਾਦ ਜਾਣਕਾਰੀ
ਨਿਰਧਾਰਨ
- ਉਤਪਾਦ ਦਾ ਨਾਮ: ਫਰੇਮਵਰਕ 'ਤੇ LVGL GUI ਚਿਹਰਾ ਪਛਾਣ
- ਦਸਤਾਵੇਜ਼ ਸੰਸ਼ੋਧਨ: 1 - 19 ਅਪ੍ਰੈਲ 2024
- ਕੀਵਰਡ: ਚਿਹਰੇ ਦੀ ਪਛਾਣ, LVGL GUI, ਫਰੇਮਵਰਕ
ਉਤਪਾਦ ਵਰਤੋਂ ਨਿਰਦੇਸ਼
- ਵੱਧview
ਇਹ ਉਤਪਾਦ ਇੱਕ ਸਧਾਰਨ LVGL GUI ਸਾਬਕਾ ਨਾਲ ਚਿਹਰਾ ਪਛਾਣ ਫੰਕਸ਼ਨ ਨੂੰ ਲਾਗੂ ਕਰਨ ਲਈ ਇੱਕ ਫਰੇਮਵਰਕ 'ਤੇ ਚਿਹਰੇ ਦੀ ਪਛਾਣ ਲਈ AI&ML ਵਿਜ਼ਨ ਐਲਗੋਰਿਦਮ ਮਾਡਲ ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਂਦਾ ਹੈ।ampSLN-TLHMI-IOT ਬੋਰਡ 'ਤੇ le. - ਫਰੇਮਵਰਕ ਓਵਰview
ਹੱਲ ਸਾਫਟਵੇਅਰ ਫਰੇਮਵਰਕ ਆਰਕੀਟੈਕਚਰ ਦੇ ਆਲੇ-ਦੁਆਲੇ ਡਿਜ਼ਾਇਨ ਕੀਤਾ ਗਿਆ ਹੈ ਜਿਸ ਵਿੱਚ ਡਿਵਾਈਸਾਂ ਦੇ ਪ੍ਰਬੰਧਨ ਲਈ ਜ਼ਿੰਮੇਵਾਰ ਡਿਵਾਈਸ ਮੈਨੇਜਰ, ਅੰਡਰਲਾਈੰਗ ਵੇਰਵਿਆਂ ਨੂੰ ਸੰਖੇਪ ਕਰਨ ਲਈ HAL ਡਿਵਾਈਸਾਂ, ਅਤੇ ਵੱਖ-ਵੱਖ ਡਿਵਾਈਸਾਂ ਵਿਚਕਾਰ ਸੰਚਾਰ ਲਈ ਇਵੈਂਟ ਸ਼ਾਮਲ ਹੁੰਦੇ ਹਨ। - ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ
ਉਤਪਾਦ ਕੈਮਰਾ ਪ੍ਰੀ ਦੁਆਰਾ ਚਿਹਰਾ ਪਛਾਣ ਫੰਕਸ਼ਨ ਨੂੰ ਲਾਗੂ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈview ਚਿਹਰੇ ਦੀ ਰਜਿਸਟ੍ਰੇਸ਼ਨ, ਮਾਨਤਾ, ਅਤੇ ਹਟਾਉਣ ਲਈ ਬਟਨਾਂ ਨਾਲ GUI ਸਕ੍ਰੀਨ 'ਤੇ। ਰਜਿਸਟਰਡ ਫੇਸ ਡੇਟਾ ਨੂੰ ਫਲੈਸ਼ 'ਤੇ ਏ ਦੁਆਰਾ ਸਟੋਰ ਕੀਤਾ ਜਾਂਦਾ ਹੈ file ਸਿਸਟਮ. - ਐਪਲੀਕੇਸ਼ਨ ਨੋਟ ਸਮੱਗਰੀ
ਐਪਲੀਕੇਸ਼ਨ ਨੋਟ ਕੈਮਰਾ ਪ੍ਰੀ ਦੇ ਨਾਲ ਇੱਕ LVGL GUI ਸਕ੍ਰੀਨ ਪੇਸ਼ ਕਰਦਾ ਹੈview ਅਤੇ ਚਿਹਰੇ ਨਾਲ ਸਬੰਧਤ ਕਾਰਵਾਈਆਂ ਲਈ ਬਟਨ। ਇਹ ਡਿਵੈਲਪਰਾਂ ਨੂੰ ਫਰੇਮਵਰਕ ਨੂੰ ਸਮਝਣ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ ਅਤੇ ਪ੍ਰਦਾਨ ਕੀਤੇ ਗਏ ਐਕਸ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਚਿਹਰੇ ਦੀ ਪਛਾਣ ਨੂੰ ਕਿਵੇਂ ਲਾਗੂ ਕਰਨਾ ਹੈample.
ਵੱਧview
NXP ਨੇ SLN-TLHMI-IOT ਨਾਮ ਦੀ ਇੱਕ ਹੱਲ ਵਿਕਾਸ ਕਿੱਟ ਲਾਂਚ ਕੀਤੀ ਹੈ ਜੋ ਸਮਾਰਟ HMI ਐਪਲੀਕੇਸ਼ਨਾਂ 'ਤੇ ਕੇਂਦਰਿਤ ਹੈ। ਇਹ ਇੱਕ NXP i.MX RT117H MCU 'ਤੇ ਲਾਗੂ ML ਵਿਜ਼ਨ, ਵੌਇਸ, ਅਤੇ ਗ੍ਰਾਫਿਕਸ UI ਦੇ ਨਾਲ ਸਮਾਰਟ HMI ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਂਦਾ ਹੈ। SDK ਦੇ ਅਧਾਰ 'ਤੇ, ਹੱਲ ਸਾਫਟਵੇਅਰ ਇੱਕ ਡਿਜ਼ਾਈਨ 'ਤੇ ਬਣਾਇਆ ਗਿਆ ਹੈ ਜਿਸਨੂੰ ਫਰੇਮਵਰਕ ਕਿਹਾ ਜਾਂਦਾ ਹੈ ਜੋ ਲਚਕਦਾਰ ਡਿਜ਼ਾਈਨ ਅਤੇ ਦ੍ਰਿਸ਼ਟੀ ਅਤੇ ਵੌਇਸ ਫੰਕਸ਼ਨਾਂ ਦੇ ਅਨੁਕੂਲਣ ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ। ਉਪਭੋਗਤਾਵਾਂ ਨੂੰ ਸੌਫਟਵੇਅਰ ਪਲੇਟਫਾਰਮ ਦੀ ਬਿਹਤਰ ਵਰਤੋਂ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਨ ਲਈ, ਕੁਝ ਬੁਨਿਆਦੀ ਦਸਤਾਵੇਜ਼ ਪ੍ਰਦਾਨ ਕੀਤੇ ਗਏ ਹਨ, ਸਾਬਕਾ ਲਈample, ਸਾਫਟਵੇਅਰ ਡਿਵੈਲਪਮੈਂਟ ਯੂਜ਼ਰ ਗਾਈਡ। ਗਾਈਡ SLN-TLHMI-IOT ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਡਿਵੈਲਪਰਾਂ ਨੂੰ ਉਹਨਾਂ ਦੀਆਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਨੂੰ ਹੋਰ ਆਸਾਨੀ ਨਾਲ ਅਤੇ ਕੁਸ਼ਲਤਾ ਨਾਲ ਲਾਗੂ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਨ ਲਈ ਫਰੇਮਵਰਕ ਸਮੇਤ ਹੱਲ ਦੇ ਸਾਰੇ ਹਿੱਸਿਆਂ ਨੂੰ ਕਵਰ ਕਰਨ ਵਾਲੇ ਐਪਲੀਕੇਸ਼ਨਾਂ ਦੇ ਬੁਨਿਆਦੀ ਸਾਫਟਵੇਅਰ ਡਿਜ਼ਾਈਨ ਅਤੇ ਆਰਕੀਟੈਕਚਰ ਨੂੰ ਪੇਸ਼ ਕਰਦੀ ਹੈ।
ਹੱਲ ਅਤੇ ਸੰਬੰਧਿਤ ਦਸਤਾਵੇਜ਼ਾਂ ਬਾਰੇ ਵਧੇਰੇ ਵੇਰਵਿਆਂ ਲਈ, 'ਤੇ ਜਾਓ web ML ਵਿਜ਼ਨ, ਵੌਇਸ, ਅਤੇ ਗ੍ਰਾਫਿਕਲ UI ਨਾਲ i.MX RT117H 'ਤੇ ਆਧਾਰਿਤ NXP EdgeReady ਸਮਾਰਟ HMI ਹੱਲ ਦਾ ਪੰਨਾ। ਹਾਲਾਂਕਿ, ਡਿਵੈਲਪਰਾਂ ਲਈ ਇਹਨਾਂ ਬੁਨਿਆਦੀ ਗਾਈਡਾਂ ਦਾ ਹਵਾਲਾ ਦਿੰਦੇ ਹੋਏ ਆਪਣੇ ਸਮਾਰਟ HMI ਐਪਲੀਕੇਸ਼ਨਾਂ ਨੂੰ ਲਾਗੂ ਕਰਨਾ ਅਜੇ ਵੀ ਇੰਨਾ ਆਸਾਨ ਨਹੀਂ ਹੈ। ਫਰੇਮਵਰਕ 'ਤੇ ਕਦਮ ਦਰ ਕਦਮ ਵਿਕਾਸ ਦਾ ਅਧਿਐਨ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਨ ਲਈ ਐਪਲੀਕੇਸ਼ਨ ਨੋਟਸ ਦੀ ਇੱਕ ਲੜੀ ਦੀ ਯੋਜਨਾ ਬਣਾਈ ਗਈ ਹੈ। ਇਹ ਐਪਲੀਕੇਸ਼ਨ ਨੋਟ ਲਾਗੂ LVGL GUI ਕੈਮਰਾ ਪ੍ਰੀ 'ਤੇ ਅਧਾਰਤ ਹੈview ਫਰੇਮਵਰਕ 'ਤੇ (ਦਸਤਾਵੇਜ਼ AN14147)। ਇਹ ਐਪਲੀਕੇਸ਼ਨ ਨੋਟ ਵਰਣਨ ਕਰਦਾ ਹੈ ਕਿ ਕੈਮਰਾ ਪ੍ਰੀ ਦੁਆਰਾ ਚਿਹਰਾ ਪਛਾਣ ਫੰਕਸ਼ਨ ਨੂੰ ਲਾਗੂ ਕਰਨ ਲਈ ਫਰੇਮਵਰਕ 'ਤੇ ਚਿਹਰੇ ਦੀ ਪਛਾਣ ਲਈ AI&ML ਵਿਜ਼ਨ ਐਲਗੋਰਿਦਮ ਮਾਡਲ ਨੂੰ ਕਿਵੇਂ ਸਮਰੱਥ ਬਣਾਇਆ ਜਾਵੇ।view ਇੱਕ ਸਧਾਰਨ LVGL GUI ਸਾਬਕਾ ਦੇ ਨਾਲ GUI ਸਕ੍ਰੀਨ 'ਤੇampSLN-TLHMI-IOT ਬੋਰਡ 'ਤੇ le. ਅਰਜ਼ੀ ਨੋਟ ਵਿੱਚ ਸਾਬਕਾample ਇੱਕ ਕੈਮਰਾ ਪ੍ਰੀ ਦੇ ਨਾਲ ਇੱਕ LVGL GUI ਸਕ੍ਰੀਨ ਪੇਸ਼ ਕਰਦਾ ਹੈview ਅਤੇ ਚਿਹਰਾ ਰਜਿਸਟ੍ਰੇਸ਼ਨ, ਮਾਨਤਾ, ਅਤੇ ਹਟਾਉਣ ਲਈ ਕੁਝ ਬਟਨ। ਰਜਿਸਟਰਡ ਫੇਸ ਡੇਟਾ ਨੂੰ ਫਲੈਸ਼ 'ਤੇ ਥੋੜਾ ਜਿਹਾ ਸਟੋਰ ਕੀਤਾ ਜਾਂਦਾ ਹੈ file ਸਿਸਟਮ.
ਉੱਚ ਪੱਧਰ 'ਤੇ, ਐਪਲੀਕੇਸ਼ਨ ਨੋਟ ਵਿੱਚ ਹੇਠਾਂ ਦਿੱਤੀ ਸਮੱਗਰੀ ਸ਼ਾਮਲ ਹੈ:
- ਫਰੇਮਵਰਕ 'ਤੇ ਚਿਹਰਾ ਪਛਾਣ ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਸਮਰੱਥ ਬਣਾਓ।
- ਦੁਆਰਾ ਫਰੇਮਵਰਕ 'ਤੇ ਚਿਹਰਾ ਡੇਟਾਬੇਸ ਸਹਾਇਤਾ ਸ਼ਾਮਲ ਕਰੋ file ਫਲੈਸ਼ 'ਤੇ ਸਿਸਟਮ.
- LVGL GUI ਐਪ ਨੂੰ ਲਾਗੂ ਕਰੋ। ਉਪਰੋਕਤ ਜਾਣ-ਪਛਾਣ ਦੁਆਰਾ, ਇਹ ਦਸਤਾਵੇਜ਼ ਡਿਵੈਲਪਰਾਂ ਦੀ ਮਦਦ ਕਰਦਾ ਹੈ:
- ਫਰੇਮਵਰਕ ਅਤੇ ਸਮਾਰਟ HMI ਹੱਲ ਸਾਫਟਵੇਅਰ ਨੂੰ ਹੋਰ ਡੂੰਘਾਈ ਨਾਲ ਸਮਝੋ।
- LVGL GUI ਐਪ ਦੇ ਨਾਲ ਫਰੇਮਵਰਕ 'ਤੇ ਉਹਨਾਂ ਦੀ AI ਅਤੇ ML ਚਿਹਰੇ ਦੀ ਪਛਾਣ ਵਿਕਸਿਤ ਕਰੋ।
ਫਰੇਮਵਰਕ ਖਤਮ ਹੋ ਗਿਆview
ਹੱਲ ਸਾਫਟਵੇਅਰ ਮੁੱਖ ਤੌਰ 'ਤੇ ਫਰੇਮਵਰਕ ਆਰਕੀਟੈਕਚਰ ਦੀ ਵਰਤੋਂ ਦੇ ਆਲੇ-ਦੁਆਲੇ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਹੈ ਜੋ ਕਿ ਕਈ ਵੱਖ-ਵੱਖ ਹਿੱਸਿਆਂ ਨਾਲ ਬਣਿਆ ਹੈ:
- ਡਿਵਾਈਸ ਮੈਨੇਜਰ - ਮੁੱਖ ਹਿੱਸਾ
- ਹਾਰਡਵੇਅਰ ਐਬਸਟਰੈਕਸ਼ਨ ਲੇਅਰ (HAL) ਯੰਤਰ
- ਸੁਨੇਹੇ/ਇਵੈਂਟਸ
ਜਿਵੇਂ ਕਿ ਚਿੱਤਰ 1 ਵਿੱਚ ਦਿਖਾਇਆ ਗਿਆ ਹੈ, ਓਵਰview ਫਰੇਮਵਰਕ ਦੀ ਵਿਧੀ ਹੈ:
ਡਿਵਾਈਸ ਮੈਨੇਜਰ ਸਿਸਟਮ ਦੁਆਰਾ ਵਰਤੀਆਂ ਜਾਂਦੀਆਂ ਡਿਵਾਈਸਾਂ ਦੇ ਪ੍ਰਬੰਧਨ ਲਈ ਜ਼ਿੰਮੇਵਾਰ ਹਨ। ਹਰੇਕ ਡਿਵਾਈਸ ਕਿਸਮ (ਇਨਪੁਟ, ਆਉਟਪੁੱਟ, ਅਤੇ ਹੋਰ) ਦਾ ਆਪਣਾ ਕਿਸਮ-ਵਿਸ਼ੇਸ਼ ਡਿਵਾਈਸ ਮੈਨੇਜਰ ਹੁੰਦਾ ਹੈ। ਇੱਕ ਡਿਵਾਈਸ ਮੈਨੇਜਰ ਦੇ ਨਾਲ ਡਿਵਾਈਸਾਂ ਦੇ ਰਜਿਸਟਰ ਹੋਣ ਤੋਂ ਬਾਅਦ, ਇਹ ਰਜਿਸਟਰਡ ਡਿਵਾਈਸਾਂ ਨੂੰ ਸ਼ੁਰੂ ਕਰਨ ਅਤੇ ਸ਼ੁਰੂ ਕਰਨ ਤੋਂ ਬਾਅਦ ਡਿਵਾਈਸਾਂ ਅਤੇ ਹੋਰ ਪ੍ਰਬੰਧਕਾਂ ਨੂੰ ਡੇਟਾ ਟ੍ਰਾਂਸਫਰ ਕਰਨ ਲਈ ਇੱਕ ਸੰਦੇਸ਼ ਦੀ ਉਡੀਕ ਕਰਦਾ ਹੈ ਅਤੇ ਜਾਂਚ ਕਰਦਾ ਹੈ। HAL ਡਿਵਾਈਸਾਂ ਹੇਠਲੇ-ਪੱਧਰ ਦੇ ਡਰਾਈਵਰ ਕੋਡ ਦੇ ਸਿਖਰ 'ਤੇ ਲਿਖੀਆਂ ਜਾਂਦੀਆਂ ਹਨ, ਬਹੁਤ ਸਾਰੇ ਅੰਡਰਲਾਈੰਗ ਵੇਰਵਿਆਂ ਨੂੰ ਸੰਖੇਪ ਕਰਕੇ ਕੋਡ ਦੀ ਸਮਝ ਨੂੰ ਵਧਾਉਣ ਵਿੱਚ ਮਦਦ ਕਰਦੀਆਂ ਹਨ।
ਇਵੈਂਟਸ ਇੱਕ ਸਾਧਨ ਹਨ ਜਿਸ ਦੁਆਰਾ ਵੱਖ-ਵੱਖ ਡਿਵਾਈਸਾਂ ਵਿਚਕਾਰ ਉਹਨਾਂ ਦੇ ਪ੍ਰਬੰਧਕਾਂ ਦੁਆਰਾ ਜਾਣਕਾਰੀ ਸੰਚਾਰਿਤ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਜਦੋਂ ਇੱਕ ਇਵੈਂਟ ਚਾਲੂ ਹੁੰਦਾ ਹੈ, ਤਾਂ ਉਹ ਡਿਵਾਈਸ ਜਿਸਨੇ ਪਹਿਲਾਂ ਇਵੈਂਟ ਪ੍ਰਾਪਤ ਕੀਤਾ ਸੀ, ਉਸ ਘਟਨਾ ਨੂੰ ਉਸਦੇ ਪ੍ਰਬੰਧਕ ਨੂੰ ਸੰਚਾਰਿਤ ਕਰਦਾ ਹੈ, ਫਿਰ ਬਦਲੇ ਵਿੱਚ ਇਹ ਇਵੈਂਟ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਮਨੋਨੀਤ ਹੋਰ ਪ੍ਰਬੰਧਕਾਂ ਨੂੰ ਸੂਚਿਤ ਕਰਦਾ ਹੈ।
ਫਰੇਮਵਰਕ ਦਾ ਆਰਕੀਟੈਕਚਰਲ ਡਿਜ਼ਾਈਨ ਤਿੰਨ ਪ੍ਰਾਇਮਰੀ ਟੀਚਿਆਂ 'ਤੇ ਕੇਂਦ੍ਰਿਤ ਸੀ:
- ਵਰਤਣ ਦੀ ਸੌਖ
- ਲਚਕਤਾ/ਪੋਰਟੇਬਿਲਟੀ
- ਪ੍ਰਦਰਸ਼ਨ
ਫਰੇਮਵਰਕ ਨੂੰ ਵਿਜ਼ਨ ਅਤੇ ਹੋਰ ਮਸ਼ੀਨ-ਲਰਨਿੰਗ ਐਪਲੀਕੇਸ਼ਨਾਂ ਲਈ ਮਾਰਕੀਟ ਕਰਨ ਲਈ ਸਮੇਂ ਨੂੰ ਤੇਜ਼ ਕਰਨ ਦੇ ਟੀਚੇ ਨਾਲ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਹੈ। ਮਾਰਕੀਟ ਲਈ ਇੱਕ ਤੇਜ਼ ਸਮਾਂ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ, ਇਹ ਮਹੱਤਵਪੂਰਨ ਹੈ ਕਿ ਸੌਫਟਵੇਅਰ ਆਪਣੇ ਆਪ ਨੂੰ ਸਮਝਣਾ ਅਤੇ ਸੋਧਣਾ ਆਸਾਨ ਹੈ। ਇਸ ਟੀਚੇ ਨੂੰ ਧਿਆਨ ਵਿਚ ਰੱਖਦੇ ਹੋਏ, ਫਰੇਮਵਰਕ ਦੀ ਆਰਕੀਟੈਕਚਰ ਨੂੰ ਬਿਨਾਂ ਪਾਬੰਦੀਆਂ ਦੇ, ਅਤੇ ਪ੍ਰਦਰਸ਼ਨ ਦੀ ਕੀਮਤ 'ਤੇ ਆਉਣ ਤੋਂ ਬਿਨਾਂ ਸੋਧਣਾ ਆਸਾਨ ਹੈ।
ਫਰੇਮਵਰਕ ਬਾਰੇ ਹੋਰ ਵੇਰਵਿਆਂ ਲਈ, ਸਮਾਰਟ HMI ਸੌਫਟਵੇਅਰ ਡਿਵੈਲਪਮੈਂਟ ਯੂਜ਼ਰ ਗਾਈਡ (ਦਸਤਾਵੇਜ਼ MCU-SMHMI-SDUG) ਦੇਖੋ।
ਲਾਈਟ ਐਂਡ ਵਰਸੇਟਾਈਲ ਗ੍ਰਾਫਿਕਸ ਲਾਇਬ੍ਰੇਰੀ (LVGL)
LVGL (ਲਾਈਟ ਐਂਡ ਵਰਸੇਟਾਈਲ ਗ੍ਰਾਫਿਕਸ ਲਾਇਬ੍ਰੇਰੀ) ਇੱਕ ਮੁਫਤ ਅਤੇ ਓਪਨ-ਸੋਰਸ ਗ੍ਰਾਫਿਕਸ ਲਾਇਬ੍ਰੇਰੀ ਹੈ ਜੋ ਉਹ ਸਭ ਕੁਝ ਪ੍ਰਦਾਨ ਕਰਦੀ ਹੈ ਜਿਸਦੀ ਤੁਹਾਨੂੰ ਵਰਤੋਂ ਵਿੱਚ ਆਸਾਨ ਗ੍ਰਾਫਿਕਲ ਤੱਤਾਂ, ਸੁੰਦਰ ਵਿਜ਼ੂਅਲ ਪ੍ਰਭਾਵਾਂ ਅਤੇ ਘੱਟ ਮੈਮੋਰੀ ਫੁਟਪ੍ਰਿੰਟ ਦੇ ਨਾਲ ਇੱਕ ਏਮਬੈਡਡ GUI ਬਣਾਉਣ ਲਈ ਲੋੜ ਹੁੰਦੀ ਹੈ।
GUI ਗਾਈਡਰ
GUI ਗਾਈਡਰ NXP ਤੋਂ ਇੱਕ ਉਪਭੋਗਤਾ-ਅਨੁਕੂਲ ਗ੍ਰਾਫਿਕਲ ਉਪਭੋਗਤਾ ਇੰਟਰਫੇਸ ਵਿਕਾਸ ਸਾਧਨ ਹੈ ਜੋ ਓਪਨ-ਸੋਰਸ LVGL ਗ੍ਰਾਫਿਕਸ ਲਾਇਬ੍ਰੇਰੀ ਦੇ ਨਾਲ ਉੱਚ ਗੁਣਵੱਤਾ ਡਿਸਪਲੇਅ ਦੇ ਤੇਜ਼ੀ ਨਾਲ ਵਿਕਾਸ ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਂਦਾ ਹੈ। GUI ਗਾਈਡਰ ਦਾ ਡਰੈਗ-ਐਂਡ-ਡ੍ਰੌਪ ਸੰਪਾਦਕ LVGL ਦੀਆਂ ਬਹੁਤ ਸਾਰੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਜਿਵੇਂ ਕਿ ਵਿਜੇਟਸ, ਐਨੀਮੇਸ਼ਨਾਂ, ਅਤੇ ਸਟਾਈਲ ਨੂੰ ਘੱਟੋ-ਘੱਟ ਜਾਂ ਬਿਨਾਂ ਕੋਡਿੰਗ ਦੇ GUI ਬਣਾਉਣ ਲਈ ਵਰਤਣਾ ਆਸਾਨ ਬਣਾਉਂਦਾ ਹੈ।
ਇੱਕ ਬਟਨ ਦੇ ਕਲਿਕ ਨਾਲ, ਤੁਸੀਂ ਆਪਣੀ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਇੱਕ ਸਿਮੂਲੇਟਿਡ ਵਾਤਾਵਰਣ ਵਿੱਚ ਚਲਾ ਸਕਦੇ ਹੋ ਜਾਂ ਇਸਨੂੰ ਇੱਕ ਟੀਚਾ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਨਿਰਯਾਤ ਕਰ ਸਕਦੇ ਹੋ। GUI ਗਾਈਡਰ ਤੋਂ ਤਿਆਰ ਕੀਤਾ ਕੋਡ ਤੁਹਾਡੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਆਸਾਨੀ ਨਾਲ ਜੋੜਿਆ ਜਾ ਸਕਦਾ ਹੈ, ਵਿਕਾਸ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਤੇਜ਼ ਕਰਦਾ ਹੈ ਅਤੇ ਤੁਹਾਨੂੰ ਆਪਣੀ ਐਪਲੀਕੇਸ਼ਨ ਵਿੱਚ ਇੱਕ ਏਮਬੈੱਡ ਯੂਜ਼ਰ ਇੰਟਰਫੇਸ ਨੂੰ ਸਹਿਜੇ ਹੀ ਸ਼ਾਮਲ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ। GUI ਗਾਈਡਰ NXP ਦੇ ਆਮ ਉਦੇਸ਼ ਅਤੇ ਕਰਾਸਓਵਰ MCUs ਨਾਲ ਵਰਤਣ ਲਈ ਸੁਤੰਤਰ ਹੈ ਅਤੇ ਇਸ ਵਿੱਚ ਕਈ ਸਮਰਥਿਤ ਪਲੇਟਫਾਰਮਾਂ ਲਈ ਬਿਲਟ-ਇਨ ਪ੍ਰੋਜੈਕਟ ਟੈਂਪਲੇਟ ਸ਼ਾਮਲ ਹਨ। GUI ਗਾਈਡਰ 'ਤੇ LVGL ਅਤੇ GUI ਵਿਕਾਸ ਬਾਰੇ ਹੋਰ ਜਾਣਨ ਲਈ, ਲਾਈਟ ਐਂਡ ਵਰਸੇਟਾਈਲ ਗ੍ਰਾਫਿਕਸ ਲਾਇਬ੍ਰੇਰੀ ਅਤੇ GUI ਗਾਈਡਰ ਦੀ ਜਾਂਚ ਕਰੋ।
ਵਿਕਾਸ ਵਾਤਾਵਰਣ
ਪਹਿਲਾਂ, ਸਾਬਕਾ ਨੂੰ ਲਾਗੂ ਕਰਨ ਲਈ ਹਾਰਡਵੇਅਰ ਅਤੇ ਸੌਫਟਵੇਅਰ ਵਾਤਾਵਰਨ ਤਿਆਰ ਅਤੇ ਸੈਟ ਅਪ ਕਰੋampਫਰੇਮਵਰਕ 'ਤੇ le.
ਹਾਰਡਵੇਅਰ ਵਾਤਾਵਰਣ
ਹਾਰਡਵੇਅਰ ਵਾਤਾਵਰਨ ਸਾਬਕਾ ਦੀ ਪੁਸ਼ਟੀ ਕਰਨ ਲਈ ਸੈੱਟਅੱਪ ਕੀਤਾ ਗਿਆ ਹੈampLe:
- NXP i.MX RT117H (SLN_TLHMI_IOT ਕਿੱਟ) 'ਤੇ ਆਧਾਰਿਤ ਸਮਾਰਟ HMI ਵਿਕਾਸ ਕਿੱਟ
- ਸੇਗਰ ਜੇ-ਲਿੰਕ 9-ਪਿੰਨ ਕੋਰਟੈਕਸ-ਐਮ ਅਡਾਪਟਰ ਅਤੇ V7.84a ਜਾਂ ਡਰਾਈਵਰ ਦੇ ਨਵੇਂ ਸੰਸਕਰਣ ਦੇ ਨਾਲ
ਸਾਫਟਵੇਅਰ ਵਾਤਾਵਰਣ
ਸਾਬਕਾ ਨੂੰ ਵਿਕਸਿਤ ਕਰਨ ਲਈ ਸਾਫਟਵੇਅਰ ਵਾਤਾਵਰਨ ਸੈਟ ਅਪ ਕੀਤਾ ਗਿਆ ਹੈampLe:
- MCUXpresso IDE V11.7.0
- GUI ਗਾਈਡਰ V1.6.1-GA
- lvgl_gui_camera_preview_cm7 - ਉਦਾਹਰਨampਵਿਕਾਸ ਦੇ ਅਧਾਰ ਸਾਫਟਵੇਅਰ ਵਜੋਂ ਦੂਜੇ ਐਪਲੀਕੇਸ਼ਨ ਨੋਟ ਦਾ le ਕੋਡ। ਵੇਰਵਿਆਂ ਲਈ, ਵੇਖੋ https://mcuxpresso.nxp.com/appcodehub.
- RT1170 SDK V2.13.0 – ਵਿਕਾਸ ਲਈ ਕੋਡ ਸਰੋਤ ਵਜੋਂ।
- SLN-TLHMI-IOT ਸਾਫਟਵੇਅਰ V1.1.2 – ਸਮਾਰਟ HMI ਸਰੋਤ ਕੋਡ ਨੂੰ ਵਿਕਾਸ ਲਈ ਕੋਡ ਸਰੋਤ ਵਜੋਂ NXP GitHub ਰਿਪੋਜ਼ਟਰੀ 'ਤੇ ਜਾਰੀ ਕੀਤਾ ਗਿਆ ਹੈ। ਵੇਰਵਿਆਂ ਲਈ, ਵੇਖੋ: GitHub – NXP/mcu-smhmi v1.1.2 ਤੇ
ਸੌਫਟਵੇਅਰ ਵਾਤਾਵਰਨ ਦੀ ਪ੍ਰਾਪਤੀ ਅਤੇ ਸੈੱਟਅੱਪ ਬਾਰੇ ਵੇਰਵਿਆਂ ਲਈ, ਵੇਖੋ: SLN-TLHMI-IOT ਨਾਲ ਸ਼ੁਰੂਆਤ ਕਰਨਾ।
ਫਰੇਮਵਰਕ 'ਤੇ ਵਿਜ਼ਨ ਆਰਕੀਟੈਕਚਰ
ਫਰੇਮਵਰਕ 'ਤੇ ਵਿਜ਼ਨ ਆਰਕੀਟੈਕਚਰ ਨੂੰ ਚਿੱਤਰ 2 ਵਿੱਚ ਦਿਖਾਇਆ ਗਿਆ ਹੈ। ਵਿਜ਼ਨ ਐਲਗੋ HAL (OASIS_HAL) ਦੀਆਂ ਹੇਠ ਲਿਖੀਆਂ ਪ੍ਰਕਿਰਿਆਵਾਂ ਹਨ:
- ਆਉਟਪੁੱਟ UI HAL ਤੋਂ ਸੰਬੰਧਿਤ ਇਵੈਂਟਸ ਪ੍ਰਾਪਤ ਕਰਨ ਤੋਂ ਬਾਅਦ AI ਅਤੇ ML ਵਿਜ਼ਨ ਐਲਗੋਰਿਦਮ ਮਾਡਲ ਦੁਆਰਾ ਫੇਸ ਰਜਿਸਟ੍ਰੇਸ਼ਨ ਅਤੇ ਮਾਨਤਾ ਪ੍ਰਾਪਤ ਕਰੋ। ਐਲਗੋਰਿਦਮ ਮਾਡਲ ਤੋਂ ਆਉਟਪੁੱਟ UI HAL ਤੱਕ ਅਨੁਮਾਨ ਨਤੀਜਿਆਂ ਨੂੰ ਸੂਚਿਤ ਕਰੋ।
- ਥੋੜੇ 'ਤੇ ਆਧਾਰਿਤ ਫੇਸ ਫੀਚਰ ਡੇਟਾਬੇਸ ਤੱਕ ਪਹੁੰਚ (ਸ਼ਾਮਲ, ਮਿਟਾਓ...) file ਆਊਟਪੁੱਟ UI HAL ਤੋਂ ਸੰਬੰਧਿਤ ਇਵੈਂਟਸ ਪ੍ਰਾਪਤ ਕਰਨ ਤੋਂ ਬਾਅਦ FaceDB HAL ਦੇ API ਨੂੰ ਕਾਲ ਕਰਕੇ ਸਿਸਟਮ।
- ਚਿਹਰੇ ਦੀ ਰਜਿਸਟ੍ਰੇਸ਼ਨ ਅਤੇ ਪਛਾਣ ਕਰਦੇ ਸਮੇਂ ਕੈਮਰਾ HAL ਤੋਂ ਕੈਮਰਾ ਵੀਡੀਓ ਫਰੇਮ ਦੀ ਬੇਨਤੀ ਕਰੋ।
ਫਰੇਮਵਰਕ 'ਤੇ ਚਿਹਰੇ ਦੀ ਪਛਾਣ ਨੂੰ ਲਾਗੂ ਕਰੋ
LVGL GUI ਚਿਹਰਾ ਪਛਾਣ ਸਾਬਕਾample (ਸਾਬਕਾample ਨੂੰ ਬਾਅਦ ਵਿੱਚ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ) ਫਰੇਮਵਰਕ ਉੱਤੇ ਸਾਬਕਾ ਦੇ ਅਧਾਰ ਤੇ ਲਾਗੂ ਕੀਤਾ ਜਾਂਦਾ ਹੈampLVGL GUI ਕੈਮਰਾ ਪ੍ਰੀ ਲਾਗੂ ਕਰਨ ਦੇ le ਕੋਡview ਫਰੇਮਵਰਕ 'ਤੇ (ਦਸਤਾਵੇਜ਼ AN14147)।
ਸਾਬਕਾ ਵਿੱਚ ਚਿਹਰੇ ਦੀ ਪਛਾਣ ਦਾ ਪ੍ਰਦਰਸ਼ਨ ਕਰਨ ਲਈampਲੇ, GUI ਐਪ ਦਾ ਮੁਢਲਾ ਫੰਕਸ਼ਨ (ਚਿੱਤਰ 3 ਵਿੱਚ ਮੁੱਖ ਸਕਰੀਨ ਦੇਖੋ) ਹੇਠਾਂ ਦੱਸੇ ਅਨੁਸਾਰ ਡਿਜ਼ਾਇਨ ਕੀਤਾ ਗਿਆ ਹੈ:
- GUI ਐਪ ਰਜਿਸਟ੍ਰੇਸ਼ਨ ਜਾਂ ਮਾਨਤਾ ਬਟਨ 'ਤੇ ਕਲਿੱਕ ਕਰਨ 'ਤੇ ਚਿਹਰੇ ਦੀ ਰਜਿਸਟ੍ਰੇਸ਼ਨ ਜਾਂ ਮਾਨਤਾ ਇਵੈਂਟ ਨੂੰ ਆਉਟਪੁੱਟ UI HAL ਲਈ ਚਾਲੂ ਕਰਦੀ ਹੈ। ਅਤੇ ਆਉਟਪੁੱਟ UI HAL ਚਿਹਰੇ ਦੀ ਰਜਿਸਟ੍ਰੇਸ਼ਨ ਸਫਲ ਹੋਣ ਤੋਂ ਬਾਅਦ ਵਿਜ਼ਨ ਐਲਗੋ HAL ਵਿੱਚ ਉਪਭੋਗਤਾ ਨੂੰ ਸ਼ਾਮਲ ਕਰਨ ਦੀ ਘਟਨਾ ਨੂੰ ਸੂਚਿਤ ਕਰਦਾ ਹੈ।
- GUI ਐਪ ਉਪਭੋਗਤਾ ਦੇ ਚਿਹਰੇ ਦੀ ਪਛਾਣ ਹੋਣ ਤੋਂ ਬਾਅਦ ਉਪਭੋਗਤਾ ਨੂੰ ਮਿਟਾਓ ਬਟਨ 'ਤੇ ਕਲਿੱਕ ਕਰਨ 'ਤੇ ਉਪਭੋਗਤਾ ਨੂੰ ਆਉਟਪੁੱਟ UI HAL ਤੋਂ ਮਿਟਾਉਣ ਦੀ ਘਟਨਾ ਨੂੰ ਚਾਲੂ ਕਰਦਾ ਹੈ।
- GUI ਐਪ ਬਟਨਾਂ ਅਤੇ ਚਿੱਤਰਾਂ ਦੇ ਬਾਹਰ ਸਕ੍ਰੀਨ 'ਤੇ ਕਲਿੱਕ ਕਰਨ ਵੇਲੇ ਆਉਟਪੁੱਟ UI HAL 'ਤੇ ਚੱਲ ਰਹੇ ਓਏਸਿਸ ਐਲਗੋ ਨੂੰ ਰੋਕਣ ਦੀ ਘਟਨਾ ਨੂੰ ਚਾਲੂ ਕਰਦਾ ਹੈ।
ਸਾਬਕਾ ਨੂੰ ਲਾਗੂ ਕਰਨ ਲਈ ਸਾਫਟਵੇਅਰ ਪੈਕੇਜ ਤਿਆਰ ਕਰੋample.
- ਬੇਸ ਸੌਫਟਵੇਅਰ lvgl_gui_camera_pre ਨੂੰ ਕਲੋਨ ਕਰੋview_cm7. ਪ੍ਰੋਜੈਕਟ ਦਾ ਨਾਮ ਅਤੇ ਮੁੱਖ ਬਦਲੋ filelvgl_gui_face_rec_cm7 ਦਾ ਨਾਮ।
- ਫਰੇਮਵਰਕ ਨੂੰ ਸਾਫਟਵੇਅਰ ਵਿੱਚ ਅੱਪਡੇਟ ਕਰਨ ਦੀ ਲੋੜ ਹੈ ਕਿਉਂਕਿ ਫਰੇਮਵਰਕ ਕੋਰ ਲਈ ਸਰੋਤ ਕੋਡ ਸੰਸਕਰਣ 1.1.2 ਤੋਂ GitHub 'ਤੇ ਜਨਤਕ ਹੋਣੇ ਸ਼ੁਰੂ ਹੋ ਗਏ ਹਨ।
- ਨੂੰ ਛੱਡ ਕੇ GitHub ਤੋਂ V1.1.2 ਦੀ ਕਾਪੀ ਨਾਲ ਫਰੇਮਵਰਕ ਫੋਲਡਰ ਨੂੰ ਬਦਲੋ files fwk_log.h ਅਤੇ fwk_common.h inc\ ਦੇ ਅਧੀਨ ਹਨ ਕਿਉਂਕਿ ਉਹਨਾਂ ਨੂੰ ਐਪਲੀਕੇਸ਼ਨ ਨੋਟ ਦੀ ਲੜੀ ਲਈ ਸੋਧਿਆ ਗਿਆ ਹੈ। ਓਪਰੇਸ਼ਨਾਂ ਨੂੰ ਚਿੱਤਰ 4 ਵਿੱਚ ਦਿਖਾਇਆ ਗਿਆ ਹੈ:
- libs ਗਰੁੱਪ ਦੇ ਅਧੀਨ ਫੋਲਡਰ framework_cm7 ਨੂੰ ਮਿਟਾਓ ਅਤੇ ਪ੍ਰੋਜੈਕਟ > ਵਿਸ਼ੇਸ਼ਤਾ > C/C++ ਬਿਲਡ > ਸੈਟਿੰਗਾਂ > ਟੂਲ ਸੈਟਿੰਗਾਂ > MCU C++ ਲਿੰਕਰ > ਲਾਇਬ੍ਰੇਰੀਆਂ ਵਿੱਚ ਸੰਰਚਿਤ ਲਾਇਬ੍ਰੇਰੀ framework_cm7 ਅਤੇ ਖੋਜ ਮਾਰਗ ਨੂੰ ਹਟਾਓ ਕਿਉਂਕਿ ਕੋਰ ਦਾ ਸਰੋਤ ਕੋਡ ਦਿੱਤਾ ਗਿਆ ਹੈ।
ਫਰੇਮਵਰਕ 'ਤੇ ਚਿਹਰਾ ਪਛਾਣ ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਸਮਰੱਥ ਬਣਾਓ
ਚਿਹਰਾ ਪਛਾਣ ਵਿਸ਼ੇਸ਼ਤਾ ਇੱਕ ਸਥਿਰ ਲਾਇਬ੍ਰੇਰੀ ਵਜੋਂ ਪ੍ਰਦਾਨ ਕੀਤੇ ਗਏ ML ਵਿਜ਼ਨ ਐਲਗੋਰਿਦਮ ਮਾਡਲ 'ਤੇ ਬਣਾਈ ਗਈ ਹੈ - NXP ਦੁਆਰਾ ਇੱਕ ਓਏਸਿਸ ਲਾਈਟ ਰਨਟਾਈਮ ਲਾਇਬ੍ਰੇਰੀ। ਲਾਇਬ੍ਰੇਰੀ ਇੱਕ ਛੋਟੀ, ਉੱਚ ਕੁਸ਼ਲ, ਅਨੁਕੂਲਿਤ, ਅਤੇ ਅਨੁਕੂਲਿਤ AI ਲਾਇਬ੍ਰੇਰੀ ਹੈ। ਮਾਡਲ ਵਿੱਚ ਚਿਹਰੇ ਦੀ ਪਛਾਣ, ਚਿਹਰੇ ਦੀ ਪਛਾਣ, ਸ਼ੀਸ਼ੇ ਦੀ ਪਛਾਣ, ਅਤੇ ਸਜੀਵਤਾ ਦਾ ਪਤਾ ਲਗਾਉਣਾ ਸ਼ਾਮਲ ਹੈ। ਇਹ ਮੁੱਖ ਤੌਰ 'ਤੇ ਈਵੈਂਟ ਕਾਲਬੈਕ ਦੁਆਰਾ ਕਾਲਰ ਨੂੰ ਨਤੀਜੇ ਅੱਪਡੇਟ ਕਰਨ ਦੌਰਾਨ ਚਿਹਰਾ ਪਛਾਣਨ ਵਾਲੀ ਪਾਈਪਲਾਈਨ ਨੂੰ ਚਲਾਉਣ ਲਈ API OASISLT_run_extended() ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ, ਅਤੇ ਸਰੋਤ ਫਰੇਮ ਜਾਣਕਾਰੀ, ਕਾਲਬੈਕਸ, ਅਤੇ ਮੈਮੋਰੀ ਨੂੰ ਨਿਸ਼ਚਿਤ ਕਰਨ ਤੋਂ ਬਾਅਦ ਫੇਸ ਡੇਟਾਬੇਸ ਕਾਲਬੈਕ ਦੁਆਰਾ ਡੇਟਾਬੇਸ ਵਿੱਚ ਚਿਹਰੇ ਜੋੜ/ਅੱਪਡੇਟ/ਮਿਟਾਉਂਦਾ ਹੈ। ਪੂਲ ਲਾਇਬ੍ਰੇਰੀ ਦੁਆਰਾ ਸ਼ੁਰੂ ਕਰਨ 'ਤੇ ਇੱਕ ਹੋਰ API OASISLT_init() ਨੂੰ ਕਾਲ ਕਰਕੇ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। APIs ਦੀ ਕਾਲਿੰਗ ਅਤੇ ਕਾਲਬੈਕ ਫੰਕਸ਼ਨ ਫਰੇਮਵਰਕ ਦੇ ਵਿਜ਼ਨ ਐਲਗੋ HAL ਵਿੱਚ ਲਾਗੂ ਕੀਤੇ ਜਾਂਦੇ ਹਨ।
ਵਿਜ਼ਨ ਐਲਗੋ ਮਾਡਲ ਲਾਇਬ੍ਰੇਰੀ ਸ਼ਾਮਲ ਕਰੋ
- ਲਾਇਬ੍ਰੇਰੀ ਅਤੇ ਸੰਬੰਧਿਤ ਸਿਰਲੇਖ ਵਾਲੇ ਫੋਲਡਰ ਓਏਸਿਸ ਨੂੰ ਕਾਪੀ ਕਰੋ file ਸਮਾਰਟ HMI\coffee_machine\cm7\libs\ ਤੋਂ ਸਾਬਕਾ ਫੋਲਡਰ libs ਵਿੱਚample SW.
- ਸਿਰਲੇਖ ਦਾ ਖੋਜ ਮਾਰਗ ਜੋੜੋ file ਪ੍ਰੋਜੈਕਟ > ਵਿਸ਼ੇਸ਼ਤਾ > C/C++ ਬਿਲਡ > ਸੈਟਿੰਗਾਂ > ਟੂਲ ਸੈਟਿੰਗਾਂ > MCU C ਕੰਪਾਈਲਰ > ਸ਼ਾਮਿਲ ਅਤੇ MCU C++ ਕੰਪਾਈਲਰ > ਸ਼ਾਮਲ ਹਨ: “${workspace_loc:/${ProjName}/libs/oasis/include}”
- ਪ੍ਰੋਜੈਕਟ > ਵਿਸ਼ੇਸ਼ਤਾ > C/C++ ਬਿਲਡ > ਸੈਟਿੰਗਾਂ > MCU C+ + Linker > ਲਾਇਬ੍ਰੇਰੀਆਂ: liboasis_lite2D_DEFAULT_117f_ae.a “${workspace_loc:/${ProjName}/libs/oasis}” ਅਤੇ ਮੈਕਰੋ ਪਰਿਭਾਸ਼ਾ 'ਤੇ lib ਅਤੇ ਇਸਦੇ ਖੋਜ ਮਾਰਗ ਨੂੰ ਸ਼ਾਮਲ ਕਰੋ। ਪ੍ਰੋਜੈਕਟ > ਵਿਸ਼ੇਸ਼ਤਾ > C/C++ ਬਿਲਡ > ਸੈਟਿੰਗਾਂ > ਟੂਲ ਸੈਟਿੰਗਾਂ > MCU C ਕੰਪਾਈਲਰ > ਪ੍ਰੀਪ੍ਰੋਸੈਸਰ ਅਤੇ MCU C++ ਕੰਪਾਈਲਰ > ਪ੍ਰੀਪ੍ਰੋਸੈਸਰ: SMART_TLHMI_2D 'ਤੇ ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਸਮਰੱਥ ਬਣਾਓ
ਵਿਜ਼ਨ ਐਲਗੋ HAL ਨੂੰ ਸਮਰੱਥ ਬਣਾਓ
ਵਿਜ਼ਨ ਐਲਗੋ HAL ਵਿਜ਼ਨ ਐਲਗੋ ਮਾਡਲ ਨੂੰ ਕੰਮ ਕਰਨ ਲਈ ਡ੍ਰਾਈਵ ਕਰਦਾ ਹੈ ਅਤੇ ਇਸ ਤੋਂ ਇਵੈਂਟਸ ਪ੍ਰਾਪਤ ਕਰਨ ਤੋਂ ਬਾਅਦ UI ਆਉਟਪੁੱਟ HAL ਨੂੰ ਨਤੀਜਿਆਂ ਦਾ ਜਵਾਬ ਦਿੰਦਾ ਹੈ।
ਇਸਨੂੰ ਯੋਗ ਕਰਨ ਲਈ, ਮੌਜੂਦਾ ਸਮਾਨ HAL ਡਰਾਈਵਰ ਨੂੰ ਕਲੋਨ ਕਰੋ file ਜਿੱਥੇ ਹੇਠਾਂ ਦਿੱਤੇ ਫੰਕਸ਼ਨ ਲਾਗੂ ਕੀਤੇ ਜਾਂਦੇ ਹਨ:
- ਫੇਸ ਡੇਟਾਬੇਸ ਓਪਰੇਸ਼ਨ ਅਤੇ ਇਵੈਂਟ ਹੈਂਡਲਿੰਗ ਦੇ ਕਾਲਬੈਕ ਨੂੰ ਲਾਗੂ ਕਰੋ।
- ਓਏਸਿਸ ਲਾਇਬ੍ਰੇਰੀ ਦੇ API ਨੂੰ ਕਾਲ ਕਰਕੇ ਵਿਜ਼ਨ ਐਲਗੋ ਨੂੰ ਕੰਮ ਕਰਨ ਲਈ ਚਲਾਓ।
- ਯੂਜ਼ਰ ਫੇਸ ਡੇਟਾਬੇਸ ਅਤੇ ਐਪ ਡੇਟਾਬੇਸ ਨੂੰ ਐਕਸੈਸ ਕਰੋ (ਸਾਬਕਾ ਵਿੱਚ ਇਸਦੀ ਲੋੜ ਨਹੀਂ ਹੈample).
- ਤੋਂ ਇਵੈਂਟਸ ਪ੍ਰਾਪਤ ਕਰੋ ਅਤੇ ਆਊਟਪੁੱਟ UI HAL ਨੂੰ ਨਤੀਜੇ ਭੇਜੋ।
ਸਾਬਕਾ ਲਈ HAL ਨੂੰ ਲਾਗੂ ਕਰਨ ਲਈ ਮੁੱਖ ਕੰਮample ਹਨ:
- ਮੌਜੂਦਾ ਸਮਾਨ HAL ਡਰਾਈਵਰ ਨੂੰ ਕਲੋਨ ਕਰੋ file ਅਤੇ ਸੰਬੰਧਿਤ ਨਾਂ ਬਦਲੋ।
- ਐਪ ਡੇਟਾ ਓਪਰੇਸ਼ਨਾਂ ਨਾਲ ਸਬੰਧਤ ਕੋਡਾਂ ਨੂੰ ਹਟਾਓ।
- ਆਉਟਪੁੱਟ UI HAL ਪ੍ਰਤੀ ਸਾਬਕਾ ਪ੍ਰਤੀ ਇਵੈਂਟਸ ਨੂੰ ਸੰਭਾਲਣ ਲਈ ਪਰਿਭਾਸ਼ਾਵਾਂ ਅਤੇ ਫੰਕਸ਼ਨਾਂ ਨੂੰ ਅਪਡੇਟ ਕਰੋample ਡਿਜ਼ਾਈਨ.
- ਓਏਸਿਸ ਸ਼ੁਰੂਆਤ ਵਿੱਚ ਲੋੜੀਂਦੀਆਂ ਸੰਰਚਨਾਵਾਂ ਸ਼ਾਮਲ ਕਰੋ।
ਵਿਸਤ੍ਰਿਤ ਕਦਮ ਹੇਠਾਂ ਦਿੱਤੇ ਗਏ ਹਨ:
- ਕਲੋਨ hal_vision_algo_oasis_coffeemachine.c. ਨੂੰ ਬਦਲੋ filehal_vision_algo_oasis_guifacerec.c. ਨੂੰ ਨਾਮ. ਅਤੇ ਵਿੱਚ ਸਾਰੀਆਂ ਸਤਰ CoffeeMachine ਨੂੰ GUIFaceRec ਨਾਲ ਬਦਲੋ file.
- ਐਪ ਡੇਟਾਬੇਸ ਨਾਲ ਸਬੰਧਤ ਸਤਰ coffeedb (ਕੇਸ ਸੰਵੇਦਨਸ਼ੀਲ ਨਹੀਂ) ਵਾਲੇ ਕੋਡਾਂ ਨੂੰ ਹਟਾਓ, ਸਾਬਕਾ ਲਈample, #include hal_sln_coffeedb.h.
- ਆਉਟਪੁੱਟ UI HAL ਤੋਂ ਘਟਨਾਵਾਂ ਨੂੰ ਸੰਭਾਲਣ ਲਈ HAL_VisionAlgoDev_OasisGUIFaceRec_InputNotify() ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧੋ।
- ਡਾਟਾਬੇਸ ਵਿੱਚ ਨਵਾਂ ਚਿਹਰਾ ਵਿਸ਼ੇਸ਼ਤਾ ਡੇਟਾ ਜੋੜਨ ਲਈ ਇਵੈਂਟ ਹੈਂਡਲਿੰਗ ਲਈ ਇਵੈਂਟ ਪਰਿਭਾਸ਼ਾ kEventFaceRecId_RegisterCoffeeSelection ਨੂੰ kEventFaceRecId_RegisterUserFace ਵਿੱਚ ਅਤੇ ਸੰਰਚਨਾ ਸਤਰ regCoffeeSelection ਨੂੰ regGUIFaceRec ਵਿੱਚ ਬਦਲੋ।
- ਸਾਬਕਾ ਵਿੱਚ ਚਿਹਰੇ ਦੀ ਪਛਾਣ ਦੀਆਂ ਕਾਰਵਾਈਆਂ ਦੀ ਮਿਆਰੀ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਦਿਖਾਉਣ ਲਈample, ਰਾਜਾਂ ਦੀਆਂ ਪਰਿਭਾਸ਼ਾਵਾਂ ਦੇ ਨਾਲ kEventFaceRecID_OasisSetState ਦੇ ਮਾਮਲੇ ਵਿੱਚ ਹੈਂਡਲਿੰਗ ਨੂੰ ਸੋਧੋ:
- kOASISLIteState
- ਰਜਿਸਟ੍ਰੇਸ਼ਨ kOASISLIteState
- ਮਾਨਤਾ kOASISLIteState
- ਰੁੱਕ ਗਿਆ
- ਉਪਰੋਕਤ ਪੜਾਅ ਵਿੱਚ ਜ਼ਿਕਰ ਕੀਤੀਆਂ ਘਟਨਾਵਾਂ ਦੀਆਂ ਪਰਿਭਾਸ਼ਾਵਾਂ ਨੂੰ ਜੋੜੋ ਅਤੇ ਸੋਧੋ।
- ਸਿਰਲੇਖ ਦੀ ਨਕਲ ਕਰੋ file smart_tlhmi_event_descriptor.h smart HMI\coffee_machine \cm7\source\event_handlers\ ਤੋਂ ਸਾਬਕਾ ਫੋਲਡਰ ਸਰੋਤ ਵਿੱਚample SW. ਨੂੰ ਅਪਡੇਟ ਕਰੋ file ਹੇਠਾਂ ਦਿੱਤੇ ਅਨੁਸਾਰ:
- enum ਕਿਸਮ _event_smart_tlhmi_id ਵਿੱਚ ਇਵੈਂਟ ਪਰਿਭਾਸ਼ਾ kEventFaceRecId_RegisterCoffeeSelection ਨੂੰ kEventFaceRecId_RegisterUserFace ਵਿੱਚ ਬਦਲੋ ਅਤੇ struct _event_smart_smart ਵਿੱਚ regGUIFaceRec ਵਿੱਚ ਬਣਤਰ ਸਤਰ regCoffeeSelection ਨੂੰ ਬਦਲੋ। ਇਸ ਲਈ, regCoffeeSelection ਲਈ struct register_coffee_selection_event_t ਨੂੰ register_gui_facerec_event_t ਵਿੱਚ ਬਦਲੋ।
- ਕੌਫੀ ਮਸ਼ੀਨ ਐਪ ਲਈ ਵਰਤੀਆਂ ਗਈਆਂ ਹੋਰ ਸਮੱਗਰੀਆਂ ਨੂੰ ਮਿਟਾਓ, ਸਾਬਕਾ ਲਈample, ਵੌਇਸ ਬਾਰੇ ਕੋਡ ਲਾਈਨ: # "hal_event_descriptor_voice.h" ਸ਼ਾਮਲ ਕਰੋ।
- kOASISLiteState_Stopped ਅਤੇ kOASISLiteState_Running ਕਿਸਮਾਂ ਨੂੰ hal_vision_algo.h ਵਿੱਚ enum ਕਿਸਮ oasis_lite_state_t ਵਿੱਚ ਫਰੇਮਵਰਕ>hal>ਵਿਜ਼ਨ ਅਧੀਨ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹੇਠਾਂ ਦਿੱਤੇ ਅਨੁਸਾਰ ਸ਼ਾਮਲ ਕਰੋ:
typedef enum _oasis_lite_state {- kOASISLIteState
- ਚੱਲ ਰਿਹਾ ਹੈ, kOASISLIteState
- ਰੁਕਿਆ, kOASISLIteState
- ਮਾਨਤਾ,
- kOASISLIteState
- ਰਜਿਸਟ੍ਰੇਸ਼ਨ, kOASISLIteState
- ਡੀ-ਰਜਿਸਟ੍ਰੇਸ਼ਨ, kOASISLIteState
- ਰਿਮੋਟ ਰਜਿਸਟ੍ਰੇਸ਼ਨ, kOASISLIteState
- ਗਿਣਤੀ
- ਹੇਠ ਦਿੱਤੇ ਅਨੁਸਾਰ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਫਰੇਮਵਰਕ>hal>ਵਿਜ਼ਨ ਦੇ ਤਹਿਤ struct oasis_state_event_t ਨੂੰ hal_event_descriptor_face_rec.h ਵਿੱਚ ਸੋਧਣ ਲਈ ਉਪਰੋਕਤ ਅੱਪਡੇਟ ਕੀਤੇ struct oasis_lite_state_t ਦੀ ਵਰਤੋਂ ਕਰੋ: typedef struct _oasis_state_event_t { oasis_lite_state_t state; } oasis_state_event_t;
- ਸਾਰੇ kEventInfo_Remote ਨੂੰ kEventInfo_Local ਵਿੱਚ ਬਦਲੋ ਤਾਂ ਜੋ ਵਿਜ਼ਨ ਐਲਗੋ HAL ਤੋਂ ਉਸੇ ਕੋਰ 'ਤੇ ਚੱਲ ਰਹੇ ਹੋਰ HALs ਨੂੰ ਈਵੈਂਟ ਭੇਜਣ ਲਈ kEventInfo_Local ਵਿੱਚ ਡੁਅਲ-ਕੋਰ ਦੀ ਬਜਾਏ ਸਿੰਗਲ ਕੋਰ ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।ample.
- OASISLT_init():
- board_define.h: #define OASIS_RGB_FRAME_WIDTH 800 ਵਿੱਚ ਵੀਡੀਓ ਫਰੇਮ ਲਈ ਮੈਕਰੋ ਪਰਿਭਾਸ਼ਾਵਾਂ ਅਤੇ ਮੈਮੋਰੀ ਭਾਗ ਸ਼ਾਮਲ ਕਰੋ
- # OASIS_RGB_FRAME_HEIGHT 600 ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ
- # ਪਰਿਭਾਸ਼ਿਤ OASIS_RGB_FRAME_SRC_FORMAT kPixelFormat_YUV1P444_RGB
- # OASIS_RGB_FRAME_BYTE_PER_PIXEL 3 ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ
- # ਪਰਿਭਾਸ਼ਿਤ AT_FB_SHMEM_SECTION_ALIGN(var, alignbytes) \
- __ਵਿਸ਼ੇਸ਼ਤਾ__((ਸੈਕਸ਼ਨ(“.bss.$fb_sh_mem,\"aw\",%nobits @"))) var
- __ਵਿਸ਼ੇਸ਼ਤਾ__((ਅਲਾਈਨਡ(ਅਲਾਈਨਬਾਈਟਸ)))
- ਮੈਮੋਰੀ ਅਸਾਈਨਮੈਂਟ ਨੂੰ ਪ੍ਰੋਜੈਕਟ > ਵਿਸ਼ੇਸ਼ਤਾ > C/C++ ਬਿਲਡ > ਚਿੱਤਰ 5 ਵਿੱਚ ਦਿਖਾਈਆਂ MCU ਸੈਟਿੰਗਾਂ ਉੱਤੇ ਉਪਰੋਕਤ ਮੈਮੋਰੀ ਸੈਕਸ਼ਨ fb_sh_mem ਲਈ ਕੌਂਫਿਗ ਕਰੋ:
- lvgl_gui_face_rec_cm7.cpp ਵਿੱਚ ਗਲੋਬਲ ਵੇਰੀਏਬਲ g_DTCOPBuf ਘੋਸ਼ਿਤ ਕਰੋ: AT_NONCACHEABLE_SECTION_ALIGN_DTC (uint8_t g_DTCOPBuf[DTC_OPTIMIZE_BUFFER_SIZE], 4);
- ਉਪਰੋਕਤ ਵੇਰੀਏਬਲ ਵਿੱਚ ਵਰਤੀਆਂ ਗਈਆਂ ਪਰਿਭਾਸ਼ਾਵਾਂ ਨੂੰ ਜੋੜਨਾ ਜਾਰੀ ਰੱਖੋ:
- ਉਪਰੋਕਤ ਭਾਗ ਨੂੰ board_define.h ਵਿੱਚ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ:
- # ਪਰਿਭਾਸ਼ਿਤ AT_NONCACHEABLE_SECTION_ALIGN_DTC(var, alignbytes) \
- ਗੁਣ__((ਸੈਕਸ਼ਨ(“.bss.$SRAM_DTC_cm7,\"aw\",%nobits @"))) var
- ਗੁਣ__((ਅਲਾਈਨਡ(ਅਲਾਈਨਬਾਈਟ)))
- ਸਿਰਲੇਖ ਸ਼ਾਮਲ ਕਰੋ file hal_vision_algo.h ਜਿਸ ਵਿੱਚ lvgl_gui_face_rec_cm7.cpp ਵਿੱਚ ਸ਼ਾਮਲ ਐਪ_config.h ਵਿੱਚ ਮੈਕਰੋ ਪਰਿਭਾਸ਼ਾ DTC_OPTIMIZE_BUFFER_SIZE ਹੈ।
- board_define.h: #define OASIS_RGB_FRAME_WIDTH 800 ਵਿੱਚ ਵੀਡੀਓ ਫਰੇਮ ਲਈ ਮੈਕਰੋ ਪਰਿਭਾਸ਼ਾਵਾਂ ਅਤੇ ਮੈਮੋਰੀ ਭਾਗ ਸ਼ਾਮਲ ਕਰੋ
- ਚਿਹਰੇ ਦੀ ਪਛਾਣ 'ਤੇ ਪ੍ਰਗਤੀ ਸਥਿਤੀ ਦਿਖਾਉਣ ਲਈ ਵੇਰੀਏਬਲ s_debugOption ਨੂੰ ਸਹੀ 'ਤੇ ਸੈੱਟ ਕਰੋ।
- ਸਿਰਲੇਖ ਦਾ ਖੋਜ ਮਾਰਗ ਜੋੜੋ fileਪ੍ਰੋਜੈਕਟ > ਵਿਸ਼ੇਸ਼ਤਾ > C/C++ ਬਿਲਡ > ਸੈਟਿੰਗਾਂ > ਟੂਲ ਸੈਟਿੰਗਾਂ > MCU C ਕੰਪਾਈਲਰ > ਸ਼ਾਮਿਲ ਅਤੇ MCU C++ ਕੰਪਾਈਲਰ > ਇਸ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨ: “${workspace_loc:/${ProjName}/framework/hal/vision}”
- board_define.h ਵਿੱਚ ਵਿਜ਼ਨ ਐਲਗੋ HAL ਨੂੰ ਸਮਰੱਥ ਕਰਨ ਲਈ ਹੇਠਾਂ ਦਿੱਤੀ ਪਰਿਭਾਸ਼ਾ ਜੋੜੋ: #define ENABLE_VISIONALGO_DEV_Oasis_GUIFaceRec
ਆਉਟਪੁੱਟ UI HAL ਨੂੰ ਸਮਰੱਥ ਬਣਾਓ
ਆਉਟਪੁੱਟ UI HAL ਵਿਜ਼ਨ ਐਲਗੋ HAL ਨੂੰ ਘਟਨਾਵਾਂ ਨੂੰ ਸੂਚਿਤ ਕਰਦਾ ਹੈ ਅਤੇ ਵਿਜ਼ਨ ਐਲਗੋ HAL ਤੋਂ ਅਨੁਮਾਨ ਦੇ ਨਤੀਜਿਆਂ ਦਾ ਜਵਾਬ ਦਿੰਦਾ ਹੈ। GUI ਐਪ ਦੇ ਨਾਲ, ਇਵੈਂਟ ਆਮ ਤੌਰ 'ਤੇ ਐਪ ਦੁਆਰਾ ਸ਼ੁਰੂ ਕੀਤੇ ਜਾਂਦੇ ਹਨ ਅਤੇ ਨਤੀਜੇ ਐਪ 'ਤੇ ਦਿਖਾਏ ਜਾਂਦੇ ਹਨ।
ਇਸਨੂੰ ਯੋਗ ਕਰਨ ਲਈ, ਮੌਜੂਦਾ ਸਮਾਨ HAL ਡਰਾਈਵਰ ਨੂੰ ਕਲੋਨ ਕਰੋ file ਜਿੱਥੇ ਆਮ ਤੌਰ 'ਤੇ ਹੇਠਾਂ ਦਿੱਤੇ ਫੰਕਸ਼ਨ ਲਾਗੂ ਕੀਤੇ ਜਾਂਦੇ ਹਨ:
- ਚਿਹਰੇ ਦੀ ਪਛਾਣ ਅਤੇ ਡਾਟਾਬੇਸ ਪਹੁੰਚ ਲਈ ਘਟਨਾਵਾਂ ਨੂੰ ਸੂਚਿਤ ਕਰੋ।
- ਇਵੈਂਟਾਂ ਨੂੰ ਟਰਿੱਗਰ ਕਰਨ ਲਈ GUI ਐਪ ਲਈ ਕਾਲਬੈਕ ਲਾਗੂ ਕਰੋ।
- ਵਿਜ਼ਨ ਐਲਗੋ ਮੋਡੀਊਲ ਤੋਂ ਅਨੁਮਾਨ ਦੇ ਨਤੀਜਿਆਂ ਨੂੰ ਹੈਂਡਲ ਕਰੋ।
- ਟਾਈਮਰ ਅਤੇ ਫੇਸ ਗਾਈਡ ਆਇਤਕਾਰ ਨਾਲ ਨਿਯੰਤਰਿਤ ਪ੍ਰਗਤੀ ਪੱਟੀ ਦੁਆਰਾ UI 'ਤੇ ਹੈਂਡਲ ਕਰਨ ਵਾਲੀਆਂ ਘਟਨਾਵਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਅਤੇ ਨਤੀਜੇ ਦਿਖਾਓ।
ਸਾਬਕਾ ਲਈ HAL ਨੂੰ ਲਾਗੂ ਕਰਨ ਲਈ ਮੁੱਖ ਕੰਮampਇਸ ਦਸਤਾਵੇਜ਼ ਵਿੱਚ ਵਰਤੇ ਗਏ ਹਨ:
- ਮੌਜੂਦਾ ਸਮਾਨ HAL ਡਰਾਈਵਰ ਨੂੰ ਕਲੋਨ ਕਰੋ file ਅਤੇ ਸੰਬੰਧਿਤ ਨਾਂ ਬਦਲੋ।
- ਐਪ ਨਾਲ ਸਬੰਧਤ ਕੋਡ ਹਟਾਓ।
- ਸਾਬਕਾ ਪ੍ਰਤੀ ਇਵੈਂਟ ਨੋਟੀਫਿਕੇਸ਼ਨ ਅਤੇ ਨਤੀਜਿਆਂ ਦੇ ਜਵਾਬ ਲਈ ਫੰਕਸ਼ਨਾਂ ਨੂੰ ਅਪਡੇਟ ਕਰੋample ਡਿਜ਼ਾਈਨ.
- ਇਵੈਂਟਾਂ ਨੂੰ ਟਰਿੱਗਰ ਕਰਨ ਲਈ GUI ਐਪ ਲਈ ਕਾਲਬੈਕ ਸ਼ਾਮਲ ਕਰੋ।
ਵਿਸਤ੍ਰਿਤ ਕਦਮ ਹੇਠਾਂ ਦਿੱਤੇ ਗਏ ਹਨ:
- ਕਲੋਨ hal_output_ui_coffee_machine.c. ਨੂੰ ਬਦਲੋ filehal_ output_ui_guifacerec.c ਨੂੰ ਨਾਮ
- ਵਿੱਚ ਸਾਰੀਆਂ ਸਤਰ CoffeeMachine ਨੂੰ GUIFaceRec ਨਾਲ ਬਦਲੋ file.
- ਐਪ ਨਾਲ ਸਬੰਧਤ ਕੋਡ ਹਟਾਓ - ਕੌਫੀ ਮਸ਼ੀਨ।
- ਵੇਕਅੱਪ() ਅਤੇ _StandBy() ਫੰਕਸ਼ਨਾਂ ਅਤੇ ਸੰਬੰਧਿਤ ਕੋਡਾਂ ਨੂੰ ਹਟਾਓ (ਉਹਨਾਂ ਲਈ ਸਟ੍ਰਿੰਗ ਵੇਕ-ਅਪ ਅਤੇ ਸਟੈਂਡਬਾਏ ਖੋਜ ਸਕਦੇ ਹਨ)।
- ਪ੍ਰੀ ਨੂੰ ਹਟਾਓview HAL_OutputDev_UiGUIFaceRec_Input Notify() ਵਿੱਚ ਸੰਬੰਧਿਤ ਕੋਡਾਂ ਨੂੰ ਸੰਭਾਲਣ ਵਾਲੇ ਮੋਡ ਇਵੈਂਟ।
- ਫੰਕਸ਼ਨਾਂ UI_xxx_Callback() ਅਤੇ ਕੌਫੀ ਮਸ਼ੀਨ ਦੇ GUI ਨਾਲ ਸਬੰਧਤ ਸਟ੍ਰਿੰਗ gui_ ਅਤੇ ਸਕ੍ਰੀਨ ਵਾਲੇ ਕੋਡਾਂ ਨੂੰ ਹਟਾਓ, ਸਿਵਾਏ gui_set_virtual_face() ਨੂੰ ਛੱਡ ਕੇview ਮੋਡ ਵਿਸ਼ੇਸ਼ਤਾ.
- ਕੌਫੀ ਮਸ਼ੀਨ ਐਪ ਨਾਲ ਸੰਬੰਧਿਤ ਵੇਰੀਏਬਲ s_IsWaitingAnotherSelection ਅਤੇ s_IsWaitingRegisterSelection ਨਾਲ ਸ਼ਾਮਲ ਸਾਰੇ ਕੋਡ ਹਟਾਓ।
- ਅਵਾਜ਼, ਆਡੀਓ ਅਤੇ ਭਾਸ਼ਾ ਨਾਲ ਸਬੰਧਤ ਕੋਡ ਹਟਾਓ। ਸਾਬਕਾ ਲਈampLe:
- # "hal_voice_algo_asr_local.h" ਸ਼ਾਮਲ ਕਰੋ,
- # "hal_event_descriptor_voice.h" ਸ਼ਾਮਲ ਕਰੋ
- ਵੱਖ-ਵੱਖ ਇਵੈਂਟਸ ਸੂਚਨਾਵਾਂ ਲਈ, ਨਵੇਂ ਫੰਕਸ਼ਨਾਂ ਨੂੰ ਲਾਗੂ ਕਰੋ _OutputManagerNotify(), _SetFaceRec(), _RegisterGUIFaceRec(), ਅਤੇ DeregisterGUIFaceRec() ਫੰਕਸ਼ਨਾਂ ਦਾ ਹਵਾਲਾ ਦਿੰਦੇ ਹੋਏ _StopFaceRec(), _RegisterCoffeeSelection(), ਅਤੇ deregisterCoffee(deelectionSelection) ਤੋਂ ਪਹਿਲਾਂ।
- _OutputManagerNotify() ਵਿਜ਼ਨ ਐਲਗੋ HAL ਨੂੰ ਇੱਕ ਇਵੈਂਟ ਭੇਜਣ ਲਈ ਬੁਨਿਆਦੀ ਇਵੈਂਟ ਆਉਟਪੁੱਟ ਫੰਕਸ਼ਨ ਨੂੰ ਲਾਗੂ ਕਰਦਾ ਹੈ। ਹੇਠਾਂ ਦਿੱਤੇ ਫੰਕਸ਼ਨ ਇਸ ਨੂੰ ਆਪਣੇ ਈਵੈਂਟ ਭੇਜਣ ਲਈ ਕਹਿੰਦੇ ਹਨ।
- _SetFaceRec() ਫੇਸ ਰਜਿਸਟ੍ਰੇਸ਼ਨ, ਮਾਨਤਾ, ਅਤੇ ਐਲਗੋ ਨੂੰ ਰੋਕਣ ਲਈ ਵਿਜ਼ਨ ਐਲਗੋ ਨੂੰ ਚਾਲੂ ਕਰਨ ਲਈ ਇਵੈਂਟ kEventFaceRecID_OasisSetState ਭੇਜਦਾ ਹੈ।
- ਰਜਿਸਟਰੇਸ਼ਨ ਠੀਕ ਹੋਣ 'ਤੇ _RegisterGUIFaceRec() ਇਵੈਂਟ kEventFaceRecId_RegisterGUIFaceRec ਭੇਜਦਾ ਹੈ ਜੋ smart_tlhmi_event_descriptor.h ਵਿੱਚ ਪਰਿਭਾਸ਼ਿਤ ਕੀਤਾ ਗਿਆ ਹੈ ਤਾਂ ਜੋ ਡੇਟਾਬੇਸ ਵਿੱਚ ਚਿਹਰਾ ਵਿਸ਼ੇਸ਼ਤਾ ਡੇਟਾ ਸ਼ਾਮਲ ਕੀਤਾ ਜਾ ਸਕੇ।
- DeregisterGUIFaceRec() ਇਵੈਂਟ kEventFaceRecID_DelUser ਨੂੰ ਚਿਹਰੇ ਦੀ ਪਛਾਣ ਨੂੰ ਪਾਸ ਕਰਨ ਵੇਲੇ ਡੇਟਾਬੇਸ ਤੋਂ ਚਿਹਰਾ ਵਿਸ਼ੇਸ਼ਤਾ ਡੇਟਾ ਨੂੰ ਮਿਟਾਉਣ ਲਈ ਭੇਜਦਾ ਹੈ।
- ਪ੍ਰਤੀ ਸਾਬਕਾ ਫੰਕਸ਼ਨ _InferComplete_Vision() ਵਿੱਚ ਚਿਹਰਾ ਰਜਿਸਟ੍ਰੇਸ਼ਨ ਅਤੇ ਮਾਨਤਾ ਦੇ ਅਨੁਮਾਨ ਦੇ ਨਤੀਜਿਆਂ ਲਈ LVGL GUI ਐਪ ਤੋਂ API ਨੂੰ ਕਾਲ ਕਰਕੇ GUI ਨੂੰ ਤਾਜ਼ਾ ਕਰਨ ਸਮੇਤ ਸੰਬੰਧਿਤ ਕਾਰਵਾਈਆਂ ਕਰਨ ਲਈ ਕੋਡਾਂ ਨੂੰ ਅੱਪਡੇਟ ਕਰੋample ਦਾ ਡਿਜ਼ਾਈਨ. ਸਾਬਕਾ ਲਈample, ਜਦੋਂ ਚਿਹਰਾ ਰਜਿਸਟ੍ਰੇਸ਼ਨ ਸਫਲ ਹੁੰਦਾ ਹੈ,
- _FaceRecProcess_Stop() ਨੂੰ ਕਾਲ ਕਰਕੇ ਪ੍ਰਗਤੀ ਦਿਖਾਉਣਾ ਬੰਦ ਕਰੋ;
- _SetFaceRec(kOASISLiteState_Stopped) 'ਤੇ ਕਾਲ ਕਰਕੇ ਚਿਹਰਾ ਰਜਿਸਟ੍ਰੇਸ਼ਨ ਬੰਦ ਕਰੋ;
- GUI 'ਤੇ ਸਫਲ ਨਤੀਜਾ ਦਿਖਾਓ: gui_show_face_rec_result(kFaceRecResult_OK, s_UserId);
- ਫੇਸ ਡੇਟਾ ਨੂੰ ਡੇਟਾਬੇਸ ਵਿੱਚ ਰਜਿਸਟਰ ਕਰੋ: _RegisterUserFace(s_UserId);
- ਸਮਾਗਮਾਂ ਨੂੰ ਸੰਭਾਲਣ ਲਈ UI ਕਾਲਬੈਕ ਫੰਕਸ਼ਨ ਸ਼ਾਮਲ ਕਰੋ: ਪ੍ਰੀview, ਚਿਹਰਾ ਰਜਿਸਟ੍ਰੇਸ਼ਨ, ਮਾਨਤਾ, ਅਤੇ GUI ਤੋਂ ਸ਼ੁਰੂ ਕੀਤੇ ਉਪਭੋਗਤਾ ਨੂੰ ਮਿਟਾਉਣਾ। ਸਾਬਕਾ ਲਈample, ਚਿਹਰਾ ਰਜਿਸਟ੍ਰੇਸ਼ਨ ਕਾਲਬੈਕ: void UI_Registration_Callback(){ _SetFaceRec(kOASISLiteState_Registration); _FaceRecProcess_Start(); }
- ਅਤੇ ਵੱਖ-ਵੱਖ ਇਵੈਂਟਾਂ ਅਤੇ ਨਤੀਜਿਆਂ ਵਿੱਚ ਪ੍ਰਗਤੀ ਅਤੇ ਸਥਿਤੀ ਨੂੰ ਦਿਖਾਉਣ ਲਈ ਫੰਕਸ਼ਨਾਂ _FaceRecProcess_Start() ਅਤੇ _FaceRecProcess_Stop() ਨੂੰ ਸ਼ਾਮਲ ਕਰੋ।
- ਕਾਲ ਕਰਕੇ ਟਾਈਮ-ਆਊਟ ਦੇ ਮਾਮਲੇ ਨੂੰ ਸੰਭਾਲਣ ਲਈ ਟਾਈਮਰ ISR ਕਾਲਬੈਕ ਫੰਕਸ਼ਨ _SessionTimer_Callback() ਨੂੰ ਅੱਪਡੇਟ ਕਰੋ: gui_show_face_rec_result(kFaceRecResult_TimeOut, s_UserId);
- board_define.h ਵਿੱਚ UI ਆਉਟਪੁੱਟ HAL ਨੂੰ ਸਮਰੱਥ ਕਰਨ ਲਈ ਹੇਠਾਂ ਦਿੱਤੀਆਂ ਪਰਿਭਾਸ਼ਾਵਾਂ ਸ਼ਾਮਲ ਕਰੋ: #define ENABLE_OUTPUT_DEV_UiGUIFaceRec
ਨੋਟਿਸ:
ਚਿਹਰਾ ਪਛਾਣ ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਬਿਹਤਰ ਢੰਗ ਨਾਲ ਪੇਸ਼ ਕਰਨ ਲਈ, ਆਉਟਪੁੱਟ UI HAL ਵਿੱਚ ਚਿਹਰਾ ਪਛਾਣ ਦੀ ਪ੍ਰਕਿਰਿਆ ਅਤੇ ਨਤੀਜੇ ਦਿਖਾਉਣ ਲਈ ਫੰਕਸ਼ਨ ਨੂੰ ਰੱਖੋ। ਫੰਕਸ਼ਨ ਨੂੰ ਹੇਠਾਂ ਦੱਸਿਆ ਗਿਆ ਹੈ
- ਚਿਹਰਾ ਗਾਈਡ ਆਇਤਕਾਰ ਨੀਲਾ ਦਿਖਾਉਂਦਾ ਹੈ, ਅਤੇ ਪ੍ਰਗਤੀ ਪੱਟੀ ਚਿਹਰਾ ਰਜਿਸਟ੍ਰੇਸ਼ਨ ਜਾਂ ਪਛਾਣ ਸ਼ੁਰੂ ਕਰਨ ਵੇਲੇ ਪ੍ਰਗਤੀ ਦਿਖਾਉਂਦਾ ਹੈ।
- ਚਿਹਰਾ ਰਜਿਸਟ੍ਰੇਸ਼ਨ ਸਫਲ ਹੋਣ 'ਤੇ ਚਿਹਰਾ ਗਾਈਡ ਆਇਤ ਲਾਲ ਦਿਖਾਉਂਦਾ ਹੈ।
- ਚਿਹਰੇ ਦੀ ਪਛਾਣ ਸਫਲ ਹੋਣ 'ਤੇ ਚਿਹਰਾ ਗਾਈਡ ਆਇਤ ਹਰਾ ਦਿਖਾਉਂਦਾ ਹੈ।
- ਫੇਸ ਗਾਈਡ ਆਇਤਕਾਰ ਨੀਲਾ ਰੱਖਦਾ ਹੈ, ਅਤੇ ਟਾਈਮਰ ਦੀ ਮਿਆਦ ਪੁੱਗਣ ਤੋਂ ਬਾਅਦ ਕਾਰਵਾਈ ਅਸਫਲ ਹੋਣ 'ਤੇ ਤਰੱਕੀ ਪੱਟੀ ਪੂਰੀ ਪ੍ਰਗਤੀ ਦਿਖਾਉਂਦਾ ਹੈ। ਉਸ ਸਮੇਂ, ਚਿਹਰਾ ਰਜਿਸਟ੍ਰੇਸ਼ਨ ਜਾਂ ਮਾਨਤਾ ਬੰਦ ਕਰੋ।
ਪ੍ਰਗਤੀ ਪੱਟੀ ਅਤੇ ਫੇਸ ਗਾਈਡ ਆਇਤ ਨੂੰ ਉਹਨਾਂ ਆਈਕਾਨਾਂ ਵਜੋਂ ਪੇਸ਼ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਜੋ ਸਰੋਤ ਬਾਈਨਰੀ ਵਿੱਚ ਬਣੇ ਹੁੰਦੇ ਹਨ file ਫਲੈਸ਼ ਵਿੱਚ ਪ੍ਰੋਗਰਾਮ ਕਰਨ ਲਈ. SDRAM 'ਤੇ ਆਈਕਾਨ ਡੇਟਾ ਲਈ ਪੁਆਇੰਟਰ ਫੰਕਸ਼ਨ LoadIcons(APP_ICONS_BASE) ਵਿੱਚ ਸੈਟ ਅਪ ਕੀਤੇ ਜਾਂਦੇ ਹਨ ਜਿਸਨੂੰ ਆਉਟਪੁੱਟ UI HAL ਵਿੱਚ ਆਉਟਪੁੱਟ UI HAL ਡਿਵਾਈਸ ਸ਼ੁਰੂਆਤੀਕਰਣ ਤੇ ਬੁਲਾਇਆ ਜਾਂਦਾ ਹੈ। ਇਹ ਫੰਕਸ਼ਨ ਲਈ ਆਈਕਾਨ ਸਹਿਯੋਗ ਨੂੰ ਲਾਗੂ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ.
ਆਈਕਾਨ ਸਹਿਯੋਗ ਨੂੰ ਲਾਗੂ ਕਰੋ
- LVGL GUI ਐਪ ਵਿੱਚ ਵਰਤੇ ਗਏ ਚਿੱਤਰਾਂ ਦੇ ਨਾਲ ਆਈਕਾਨਾਂ ਨੂੰ ਜੋੜਦੇ ਹੋਏ ਸਰੋਤ ਬਣਾਓ:
- ਚਾਰ ਆਈਕਨ ਹੈਡਰ ਨੂੰ ਕਲੋਨ ਕਰੋ files process_bar_240x14.h, virtual_face_blue_420x426.h, virtual_face_green_420x426.h, ਅਤੇ virtual_face_red_420x426.h ਸਮਾਰਟ HMI ਤੋਂ
ਸਾਬਕਾ ਦੇ ਸਰੋਤ ਫੋਲਡਰ ਦੇ ਹੇਠਾਂ ਨਵੇਂ ਫੋਲਡਰ ਆਈਕਨਾਂ ਲਈ \coffee machine\resource\icons\ample SW. - ਚਾਰ ਆਈਕਨ ਲਈ ਖੋਜ ਮਾਰਗ ਜੋੜੋ fileਕੈਮਰਾ_ਪ੍ਰੀ ਵਿੱਚ ਹੈview_resource.txt file ਸਰੋਤ ਫੋਲਡਰ ਵਿੱਚ, ਸਾਬਕਾ ਲਈample: icon ../resource/icons/process_bar_240x14.h
- ਕੈਮਰਾ_ਪ੍ਰੀ ਚਲਾਓview_resource_build.bat ਬਿਨ ਬਣਾਉਣ ਲਈ ਚਿੱਤਰਾਂ ਅਤੇ ਆਈਕਨ ਸਰੋਤਾਂ ਨੂੰ ਬਣਾਉਣ ਲਈ file ਕੈਮਰਾ_ਪ੍ਰੀview_resource.bin ਅਤੇ ਜਾਣਕਾਰੀ file resource_information_table.txt (ਚਿੱਤਰ 6 ਦੇਖੋ)।
- ਚਾਰ ਆਈਕਨ ਹੈਡਰ ਨੂੰ ਕਲੋਨ ਕਰੋ files process_bar_240x14.h, virtual_face_blue_420x426.h, virtual_face_green_420x426.h, ਅਤੇ virtual_face_red_420x426.h ਸਮਾਰਟ HMI ਤੋਂ
- SDRAM 'ਤੇ ਸ਼ੁਰੂਆਤੀ ਪਤਾ ਅਤੇ app_config.h ਵਿੱਚ ਆਈਕਾਨਾਂ ਦਾ ਆਕਾਰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ। ਪਤਾ GUI ਐਪ ਦੀਆਂ ਤਸਵੀਰਾਂ ਦੇ ਅੱਗੇ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ। ਆਕਾਰ ਜਾਣਕਾਰੀ ਵਿੱਚ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਹੈ file. # APP_ICONS_BASE ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ (APP_RES_SHMEM_BASE + APP_LVGL_IMGS_SIZE) # ਪਰਿਭਾਸ਼ਿਤ APP_ICONS_SIZE 0x107c40
- res_sh_mem ਨਾਮ ਦੇ ਮੈਮੋਰੀ ਸੈਕਸ਼ਨ ਦੇ ਨਿਰਧਾਰਤ ਆਕਾਰ ਨੂੰ app_config.h ਵਿੱਚ ਮੁੜ ਪਰਿਭਾਸ਼ਿਤ ਕਰਕੇ 0x200000 ਵਿੱਚ ਅੱਪਡੇਟ ਕਰੋ: #define RES_SHMEM_TOTAL_SIZE 0x200000 ਅਤੇ ਪ੍ਰੋਜੈਕਟ > ਵਿਸ਼ੇਸ਼ਤਾ > C/C++ ਬਿਲਡ > MCU ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਸੰਬੰਧਿਤ ਸੈਟਿੰਗ।
- ਮੁੱਖ ਵਿੱਚ ਫੰਕਸ਼ਨ APP_LoadResource() ਵਿੱਚ ਫਲੈਸ਼ ਤੋਂ SDRAM ਤੱਕ ਲੋਡ ਕੀਤੇ ਸਰੋਤ ਦੇ ਕੁੱਲ ਆਕਾਰ ਵਿੱਚ ਆਈਕਨ ਦਾ ਆਕਾਰ ਸ਼ਾਮਲ ਕਰੋ file lvgl_gui_face_rec_cm7.cpp: memcpy((void *)APP_LVGL_IMGS_BASE, pLvglImages, APP_LVGL_IMGS_SIZE + APP_ICONS_SIZE);
ਨੋਟਿਸ: ਚਿਹਰਾ ਪਛਾਣ ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਪੂਰਾ ਕਰਨ ਲਈ, LVGL GUI ਐਪ ਸਹਾਇਤਾ ਦੀ ਲੋੜ ਹੈ। ਆਉਟਪੁੱਟ UI HAL ਵਿੱਚ UI ਕਾਲਬੈਕ ਫੰਕਸ਼ਨਾਂ ਨੂੰ UI ਸਕ੍ਰੀਨ ਤੋਂ ਇਵੈਂਟਾਂ ਨੂੰ ਸੰਭਾਲਣ ਲਈ LVGL GUI ਐਪ ਦੁਆਰਾ ਬੁਲਾਇਆ ਜਾਂਦਾ ਹੈ। ਦੂਜੇ ਪਾਸੇ, ਆਉਟਪੁੱਟ UI HAL ਨਤੀਜਾ ਅਤੇ ਸਥਿਤੀ ਦਿਖਾਉਣ ਲਈ UI ਨੂੰ ਅਪਡੇਟ ਕਰਨ ਲਈ LVGL GUI ਐਪ ਤੋਂ API ਨੂੰ ਕਾਲ ਕਰਦਾ ਹੈ। LVGL GUI ਐਪ ਦਾ ਵਿਕਾਸ ਮੁਕਾਬਲਤਨ ਸੁਤੰਤਰ ਹੈ ਅਤੇ ਸੈਕਸ਼ਨ 4.3 ਵਿੱਚ ਪੇਸ਼ ਕੀਤਾ ਗਿਆ ਹੈ।
4.1.5 ਚਿਹਰੇ ਦੀ ਪਛਾਣ ਲਈ HAL ਡਿਵਾਈਸਾਂ ਅਤੇ ਪ੍ਰਬੰਧਕ ਸ਼ੁਰੂ ਕਰੋ
ਸਮਰਥਿਤ ਵਿਜ਼ਨ ਐਲਗੋ HAL ਅਤੇ UI ਆਉਟਪੁੱਟ HAL ਅਤੇ ਉਹਨਾਂ ਦੇ ਪ੍ਰਬੰਧਕ ਮੁੱਖ ਵਿੱਚ ਸ਼ੁਰੂ ਕੀਤੇ ਗਏ ਹਨ file
lvgl_gui_face_rec_cm7.cpp ਫਰੇਮਵਰਕ 'ਤੇ ਵਿਕਾਸ ਦੇ ਪਰਿਵਰਤਨ ਹੇਠ ਦਿੱਤੇ ਅਨੁਸਾਰ:
- ਸਿਰਲੇਖ ਸ਼ਾਮਲ ਕਰੋ file ਕੋਡ ਲਾਈਨ ਜੋੜ ਕੇ ਦੋ HAL ਪ੍ਰਬੰਧਕਾਂ ਨਾਲ ਸਬੰਧਤ:
- # "fwk_output_manager.h" ਸ਼ਾਮਲ ਕਰੋ
- # "fwk_vision_algo_manager.h" ਸ਼ਾਮਲ ਕਰੋ
- HAL ਡਿਵਾਈਸਾਂ ਦੀ ਘੋਸ਼ਣਾ ਕਰੋ:
- HAL_VALGO_DEV_DECLARE(OasisGUIFaceRec);
- HAL_OUTPUT_DEV_DECLARE(UiGUIFaceRec);
- HAL ਡਿਵਾਈਸਾਂ ਨੂੰ ਰਜਿਸਟਰ ਕਰੋ:
- HAL_VALGO_DEV_REGISTER(OasisGUIFaceRec, ret);
- HAL_OUTPUT_DEV_REGISTER(UiGUIFaceRec, ret);
- ਪ੍ਰਬੰਧਕਾਂ ਨੂੰ ਸ਼ੁਰੂ ਕਰੋ:
- FWK_MANAGER_INIT(VisionAlgoManager, ret);
- FWK_MANAGER_INIT(ਆਊਟਪੁੱਟ ਮੈਨੇਜਰ, ret);
- ਪ੍ਰਬੰਧਕਾਂ ਨੂੰ ਸ਼ੁਰੂ ਕਰੋ:
- FWK_MANAGER_START(VisionAlgoManager, VISION_ALGO_MANAGER_TASK_PRIORITY, ret);
- FWK_MANAGER_START(ਆਊਟਪੁੱਟ ਮੈਨੇਜਰ, OUTPUT_MANAGER_TASK_PRIORITY, ret);
- ਮੈਨੇਜਰ ਦੇ ਕੰਮਾਂ ਦੀ ਤਰਜੀਹ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ:
- #VISION_ALGO_MANAGER_TASK_PRIORITY 3 ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ
- # OUTPUT_MANAGER_TASK_PRIORITY 1 ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ
ਫਰੇਮਵਰਕ 'ਤੇ ਫੇਸ ਡੇਟਾਬੇਸ ਸਮਰਥਨ ਸ਼ਾਮਲ ਕਰੋ
ਰਜਿਸਟਰਡ ਫੇਸ ਫੀਚਰ ਡੇਟਾ ਨੂੰ ਫਲੈਸ਼ 'ਤੇ ਸਟੋਰ ਕੀਤੇ ਫੇਸ ਡੇਟਾਬੇਸ ਵਿੱਚ ਥੋੜੇ ਜਿਹੇ ਰਾਹੀਂ ਐਕਸੈਸ ਕੀਤਾ ਜਾਂਦਾ ਹੈ file ਸਿਸਟਮ. ਫੇਸ ਡੇਟਾਬੇਸ ਸਹਾਇਤਾ ਨੂੰ ਜੋੜਨ ਦੇ ਕਦਮ ਹੇਠਾਂ ਦੱਸੇ ਗਏ ਹਨ।
ਫਲੈਸ਼ ਸਟੋਰੇਜ ਲਈ ਡਰਾਈਵਰ ਸ਼ਾਮਲ ਕਰੋ
ਫਲੈਸ਼ ਇੰਟਰਫੇਸ FlexSPI ਡਰਾਈਵਰ ਦੀ ਨਕਲ ਕਰੋ files fsl_flexspi.c ਅਤੇ fsl_flexspi.h, ਅਤੇ ਡਾਟਾ ਇਨਕ੍ਰਿਪਸ਼ਨ ਡਰਾਈਵਰ files fsl_caam.c ਅਤੇ fsl_caam.h ਪਾਥ SDK_2_13_0_MIMXRT1170-EVK\devices \MIMRX1176\drivers\ ਤੋਂ ਸਾਬਕਾ ਦੇ ਡਰਾਈਵਰ ਫੋਲਡਰ ਤੱਕample SW.
ਬੋਰਡ-ਪੱਧਰ ਦੀ ਸਹਾਇਤਾ ਸ਼ਾਮਲ ਕਰੋ
- board.h ਵਿੱਚ ਫਲੈਸ਼ ਡਿਵਾਈਸ ਲਈ ਵਰਤੇ ਗਏ FlexSPI ਦੀਆਂ ਪਰਿਭਾਸ਼ਾਵਾਂ ਸ਼ਾਮਲ ਕਰੋ:
- # BOARD_FLEXSPI FLEXSPI1 ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ
- # BOARD_FLEXSPI_CLOCK kCLOCK_FlexSpi1 ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ
- # BOARD_FLEXSPI_AMBA_BASE FlexSPI1_AMBA_BASE ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ
- ਆਪਰੇਟਰਾਂ ਅਤੇ ਸੰਰਚਨਾਵਾਂ ਦੀ ਨਕਲ ਕਰੋ fileਫਲੈਸ਼ ਯੰਤਰ flexspi_nor_flash_ops.c, flexspi_nor_flash_ops.h, sln_flash_config.c, sln_flash_config_w25q256jvs.h, andsln_flash_ops.h ਦੇ ਮਾਰਗ ਦੇ ਅਧੀਨ ਸਮਾਰਟ HMI\coffee\coffeeboard exma_ine\coffeeboard ਫੋਲਡਰ ਦੇ ਪਾਥ ਸਮਾਰਟample SW.
- 'ਤੇ ਸੱਜਾ-ਕਲਿੱਕ ਕਰਨ ਤੋਂ ਬਾਅਦ C/C++ ਬਿਲਡ > ਸੈਟਿੰਗਾਂ ਵਿੱਚ "ਬਿਲਡ ਤੋਂ ਸਰੋਤ ਬਾਹਰ ਕੱਢੋ" ਨੂੰ ਹਟਾਓ। files ਦਾ ਨਾਮ ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਬਣਾਏ ਜਾਣ ਦੇ ਯੋਗ ਬਣਾਉਣ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਖੋਲ੍ਹਣਾ।
- ਸ਼ਾਮਲ ਸਿਰਲੇਖ ਨੂੰ ਬਦਲੋ filesln_flash_config.c ਅਤੇ flexspi_nor_flash_ops.h ਵਿੱਚ sln_flash_config.h ਨੂੰ sln_flash_config_w25q256jvs.h ਨਾਮ ਦਿਓ।
- ਵਿੱਚ FlexSPI1 ਘੜੀ ਸਰੋਤ ਸੈਟ ਕਰੋ file clock_config.c ਕੌਫੀ ਮਸ਼ੀਨ ਐਪ ਦਾ ਹਵਾਲਾ ਦੇ ਰਿਹਾ ਹੈ।
ਅਡਾਪਟਰ ਅਤੇ ਮੱਧ ਪੱਧਰੀ ਸਹਾਇਤਾ ਸ਼ਾਮਲ ਕਰੋ
- ਦੀ ਨਕਲ ਕਰੋ files sln_flash.c, sln_flash.h, sln_encrypt.c, ਅਤੇ sln_encrypt.h ਲਈ ਅਡਾਪਟਰ ਡਰਾਈਵਰਾਂ ਵਜੋਂ file ਸਿਸਟਮ ਅਤੇ ਐਪ ਸਮਾਰਟ HMI\coffee_machine\cm7\source\ ਤੋਂ ਸਾਬਕਾ ਫੋਲਡਰ ਸਰੋਤ ਤੱਕample. ਨਵਾਂ ਅੱਪਡੇਟ ਕਰੋ files:
- ਬਿਲਡਿੰਗ ਲਈ ਉਹਨਾਂ 'ਤੇ "ਬਿਲਡ ਤੋਂ ਸਰੋਤ ਨੂੰ ਬਾਹਰ ਕੱਢੋ" ਨੂੰ ਹਟਾਓ।
- ਸਾਰੇ ਸ਼ਾਮਲ ਕੀਤੇ ਸਿਰਲੇਖ ਨੂੰ ਬਦਲੋ file ਨਾਮ sln_flash_config.h ਤੋਂ sln_flash_config_w25q256jvs.h.
- ਫੋਲਡਰ ਦੀ ਨਕਲ ਕਰੋ fileਸਿਸਟਮ ਜਿਸ ਵਿੱਚ ਥੋੜ੍ਹੇ ਲਈ APIs ਹਨ fileਸਿਸਟਮ ਅਤੇ HAL ਡਰਾਈਵਰ ਸਮਾਰਟ HMI \coffee_machine\cm7\source\ ਤੋਂ ਸਾਬਕਾ ਤੱਕample SW. ਅਤੇ ਨਵੇਂ ਫੋਲਡਰ ਲਈ ਅੱਪਡੇਟ ਕਰੋ:
- ਬਿਲਡਿੰਗ ਲਈ ਇਸ 'ਤੇ "ਬਿਲਡ ਤੋਂ ਸਰੋਤ ਕੱਢੋ" ਨੂੰ ਹਟਾਓ।
- ਪ੍ਰੋਜੈਕਟ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਇਸਦੇ ਲਈ ਪਾਥ ਸ਼ਾਮਲ ਕਰੋ: “${workspace_loc:/${ProjName}/fileਸਿਸਟਮ}"
- ਸ਼ਾਮਲ ਸਿਰਲੇਖ ਨੂੰ ਬਦਲੋ file ਨਾਮ sln_flash_config.h ਤੋਂ sln_flash_config_w25q256jvs.h ਅਤੇ fica_definition.h ਤੋਂ app_config.h ਵਿੱਚ file sln_flash_littlefs.h.
- ਮਿਡਲ ਵੇਅਰ ਵਾਲੇ ਲਿਟਲਫਸ ਫੋਲਡਰ ਨੂੰ ਕਾਪੀ ਕਰੋ - ਥੋੜ੍ਹਾ fileਸਿਸਟਮ SDK_2_13_0_ MIMXRT1170-EVK\middleware\ ਤੋਂ ਸਾਬਕਾ ਤੱਕample SW. ਅਤੇ ਨਵੇਂ ਫੋਲਡਰ ਨੂੰ ਅਪਡੇਟ ਕਰੋ:
- ਬਿਲਡਿੰਗ ਲਈ ਇਸ 'ਤੇ "ਬਿਲਡ ਤੋਂ ਸਰੋਤ ਕੱਢੋ" ਨੂੰ ਹਟਾਓ।
- ਪ੍ਰੋਜੈਕਟ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਇਸਦੇ ਲਈ ਪਾਥ ਸ਼ਾਮਲ ਕਰੋ: “${workspace_loc:/${ProjName}/littlefs}”
HAL ਡਰਾਈਵਰ ਸ਼ਾਮਲ ਕਰੋ
- ਦੋ HAL ਯੰਤਰ ਹਨ - file ਸਿਸਟਮ ਅਤੇ ਫੇਸ ਡੇਟਾਬੇਸ HAL ਡੇਟਾਬੇਸ ਐਕਸੈਸ ਵਿਸ਼ੇਸ਼ਤਾ ਲਈ ਸਮਰਥਿਤ ਹੈ ਅਤੇ ਉਹ ਪਹਿਲਾਂ ਹੀ ਫਰੇਮਵਰਕ ਵਿੱਚ ਬਿਨਾਂ ਕਿਸੇ ਬਦਲਾਅ ਦੇ ਲਾਗੂ ਹਨ। board_define.h ਵਿੱਚ ਹੇਠਾਂ ਦਿੱਤੀਆਂ ਪਰਿਭਾਸ਼ਾਵਾਂ ਨੂੰ ਜੋੜ ਕੇ ਉਹਨਾਂ ਨੂੰ ਸਮਰੱਥ ਬਣਾਓ:
- #ENABLE_FLASH_DEV_Littlefs ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ
- #ENABLE_FACEDB ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ
ਅਤੇ ਸਾਬਕਾ ਲਈ ਚਿਹਰੇ ਦੇ ਡੇਟਾਬੇਸ ਦਾ ਨਾਮ ਬਦਲੋample: # ਪਰਿਭਾਸ਼ਿਤ OASIS_FACE_DB_DIR “oasis_gui_face_rec”
ਐਪ-ਪੱਧਰ ਦੀ ਸਹਾਇਤਾ ਸ਼ਾਮਲ ਕਰੋ
- ਮੁੱਖ ਨੂੰ ਅੱਪਡੇਟ ਕਰੋ file lvgl_gui_face_rec_cm7.cpp:
- ਸਿਰਲੇਖ ਸ਼ਾਮਲ ਕਰੋ file ਫਲੈਸ਼ ਨਾਲ ਸਬੰਧਤ file ਕੋਡ ਲਾਈਨ ਜੋੜ ਕੇ ਸਿਸਟਮ HAL ਮੈਨੇਜਰ: # "fwk_flash.h" ਸ਼ਾਮਲ ਕਰੋ
- ਘੋਸ਼ਣਾ ਕਰੋ ਅਤੇ ਰਜਿਸਟਰ ਕਰੋ file ਸਿਸਟਮ HAL ਡਿਵਾਈਸ:
- HAL_FLASH_DEV_DECLARE(Littlefs);
- HAL_FLASH_DEV_REGISTER(Littlefs, ret);
ਨੋਟ ਕਰੋ: ਦ file ਸਿਸਟਮ HAL ਡਿਵਾਈਸ ਨੂੰ ਸਾਰੇ ਡਿਵਾਈਸ ਮੈਨੇਜਰਾਂ ਨੂੰ ਫੰਕਸ਼ਨ APP_InitFramework() ਵਿੱਚ ਸ਼ੁਰੂ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਰਜਿਸਟਰ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ।
- MPU ਸੰਰਚਿਤ ਕਰਨ ਲਈ APP_BoardInit() ਵਿੱਚ ਫੰਕਸ਼ਨ BOARD_ConfigMPU() ਨੂੰ ਕਾਲ ਕਰੋ।
- ਸੈੱਟ ਕਰੋ file ਵਿੱਚ ਫਲੈਸ਼ 'ਤੇ ਸਿਸਟਮ ਅਸਾਈਨਮੈਂਟ file ਵਿੱਚ ਵਰਤੀਆਂ ਗਈਆਂ ਮੈਕਰੋ ਪਰਿਭਾਸ਼ਾਵਾਂ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਕੇ app_config.h file sln_flash_littlefs.h:
- # FICA_IMG_ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋFILE_SYS_ADDR (FLASH_IMG_SIZE + RES_SHMEM_TOTAL_SIZE)
- # FICA_ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋFILE_SYS_SIZE (0x280000)
ਸੰਰਚਨਾਵਾਂ
ਕੁਝ ਫਲੈਸ਼-ਸਬੰਧਤ ਕੋਡ ਕਾਫ਼ੀ ਪ੍ਰਦਰਸ਼ਨ ਲਈ SRAM ITC ਖੇਤਰ ਵਿੱਚ ਲਾਗੂ ਕੀਤੇ ਜਾਂਦੇ ਹਨ। ਪਾਥ ਸਮਾਰਟ HMI\coffee_machine\cm7\ ਤੋਂ example SW.
ਇੱਕ LVGL GUI ਐਪ ਨੂੰ ਲਾਗੂ ਕਰੋ
ਫਰੇਮਵਰਕ ਦੇ ਅਧਾਰ ਤੇ ਇੱਕ LVGL GUI ਐਪ ਦਾ ਵਿਕਾਸ ਆਉਟਪੁੱਟ UI HAL ਤੋਂ APIs ਨੂੰ ਕਾਲ ਕਰਦਾ ਹੈ ਅਤੇ APIs ਨੂੰ UI HAL ਨੂੰ ਆਉਟਪੁੱਟ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ (ਆਉਟਪੁੱਟ UI HAL ਨੂੰ ਲਾਗੂ ਕਰਨ ਲਈ ਸੈਕਸ਼ਨ 4.1.3 ਵੇਖੋ)।
ਹਾਲਾਂਕਿ, ਇੱਕ LVGL GUI ਐਪ ਦਾ ਵਿਸਤ੍ਰਿਤ ਲਾਗੂਕਰਨ ਐਪਲੀਕੇਸ਼ਨ ਦੀਆਂ ਲੋੜਾਂ ਅਤੇ ਡਿਜ਼ਾਈਨ 'ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ। ਇਸ ਸਾਬਕਾ ਵਿੱਚ GUI ਐਪample ਨੂੰ ਸੈਕਸ਼ਨ 4 ਦੇ ਸ਼ੁਰੂ ਵਿੱਚ ਵਰਣਨ ਕੀਤੇ ਅਨੁਸਾਰ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਹੈ।
ਹੇਠਾਂ ਲਾਗੂ ਕਰਨ ਦੀ ਜਾਣ-ਪਛਾਣ ਹੈ:
- ਕਸਟਮਾਈਜ਼ਡ ਕੋਡ GUI ਗਾਈਡਰ ਦੁਆਰਾ ਦਿੱਤੇ ਗਏ custom.c ਅਤੇ custom.h ਵਿੱਚ GUI ਗਾਈਡਰ ਪ੍ਰੋਜੈਕਟ ਅਤੇ ਏਮਬੈਡਡ ਸਿਸਟਮ ਪ੍ਰੋਜੈਕਟ ਦੇ ਵਿਚਕਾਰ ਇੰਟਰਫੇਸ ਵਜੋਂ ਲਾਗੂ ਕੀਤੇ ਜਾਂਦੇ ਹਨ।
- ਹੇਠਾਂ ਦਿੱਤੇ ਫੰਕਸ਼ਨਾਂ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ custom.c ਵਿੱਚ gui_xxx() ਨਾਮ ਦੇ ਨਵੇਂ ਫੰਕਸ਼ਨਾਂ ਨੂੰ ਸ਼ਾਮਲ ਕਰੋ:
- UI ਨੂੰ ਅੱਪਡੇਟ ਕਰਨ ਲਈ ਆਊਟਪੁੱਟ UI HAL ਅਤੇ GUI ਐਪ ਲਈ।
- GUI ਐਪ ਲਈ ਆਉਟਪੁੱਟ UI HAL ਤੋਂ UI ਕਾਲਬੈਕ ਫੰਕਸ਼ਨਾਂ ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਵੈਂਟਾਂ ਨੂੰ ਟਰਿੱਗਰ ਕਰਨ ਲਈ।
ਸਾਬਕਾ ਲਈample, ਨਵਾਂ ਫੰਕਸ਼ਨ gui_event_face_rec_action() ਚਿਹਰਾ ਰਜਿਸਟ੍ਰੇਸ਼ਨ, ਚਿਹਰਾ ਪਛਾਣਨ ਅਤੇ GUI ਐਪ ਤੋਂ ਟ੍ਰਿਗਰ ਕੀਤੇ ਉਪਭੋਗਤਾ ਨੂੰ ਹਟਾਉਣ ਦੇ ਇਵੈਂਟਾਂ ਵਿੱਚੋਂ ਇੱਕ ਨੂੰ ਸੰਭਾਲਣ ਲਈ UI ਕਾਲਬੈਕ ਫੰਕਸ਼ਨਾਂ ਨੂੰ ਕਾਲ ਕਰਦਾ ਹੈ ਜਦੋਂ ਸੰਬੰਧਿਤ ਬਟਨ ਨੂੰ ਕਲਿਕ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।
ਨੋਟ: ਫੰਕਸ਼ਨ gui_set_virtual_face() ਨੂੰ ਪ੍ਰੀ ਲਈ ਆਉਟਪੁੱਟ UI HAL ਵਿੱਚ ਬੁਲਾਇਆ ਗਿਆ ਹੈview ਮੋਡ ਨੂੰ custom.c ਵਿੱਚ ਲਾਗੂ ਕਰਨ ਦੀ ਲੋੜ ਹੈ:
- ਸਮਾਰਟ HMI\coffee_machine\cm4\custom \custom.c ਤੋਂ ਕਲੋਨ ਫੰਕਸ਼ਨ gui_set_virtual_face()
- ਵਿਜੇਟ ਦਾ ਨਾਮ home_img_cameraPre ਬਦਲੋview ਸਕ੍ਰੀਨ_img_camera_pre ਲਈview ਫੰਕਸ਼ਨ ਵਿੱਚ.
- GUI ਗਾਈਡਰ ਪ੍ਰੋਜੈਕਟ ਦੇ ਅਨੁਕੂਲ ਹੋਣ ਲਈ custom.c ਵਿੱਚ ਮੈਕਰੋ ਪਰਿਭਾਸ਼ਾ #ifndef RT_PLATFORM ਦੇ ਨਿਯੰਤਰਣ ਅਧੀਨ ਆਉਟਪੁੱਟ UI HAL ਵਿੱਚ ਸਾਰੇ ਪ੍ਰੋਟੋਟਾਈਪ ਦੇ ਨਾਲ UI ਕਾਲਬੈਕ ਫੰਕਸ਼ਨਾਂ ਨੂੰ ਉਸੇ ਪ੍ਰੋਟੋਟਾਈਪ ਨਾਲ ਲਾਗੂ ਕਰੋ ਕਿਉਂਕਿ ਆਉਟਪੁੱਟ UI HAL ਵਿੱਚ ਇਹ ਫੰਕਸ਼ਨ ਨਿਰਭਰ ਹਨ। ਏਮਬੈਡਡ ਪਲੇਟਫਾਰਮ. Custom.c ਵਿੱਚ, ਉਹ GUI ਗਾਈਡਰ ਦੇ ਸਿਮੂਲੇਟਰ 'ਤੇ ਨਿਰਭਰ ਕਰਦੇ ਹਨ ਅਤੇ ਏਮਬੈਡਡ ਪਲੇਟਫਾਰਮ ਲਈ ਸੁਤੰਤਰ ਹੁੰਦੇ ਹਨ। ਸਾਬਕਾ ਲਈample, GUI ਗਾਈਡਰ ਸਿਮੂਲੇਟਰ ਚਲਾਉਣ ਲਈ ਫੇਸ ਰਜਿਸਟ੍ਰੇਸ਼ਨ ਕਾਲਬੈਕ ਨੂੰ ਹੇਠਾਂ ਲਾਗੂ ਕੀਤਾ ਗਿਆ ਹੈ: #ifndef RT_PLATFORM void UI_Registration_Callback() { gui_hide_del_user_btn(true); s_InAction = ਗਲਤ; ਵਾਪਸੀ; }
ਨੋਟ ਕਰੋ: ਸੈਕਸ਼ਨ 6 ਦੇ ਪੜਾਅ 4.1.3 ਵਿੱਚ ਪੇਸ਼ ਕੀਤੇ ਗਏ ਫੰਕਸ਼ਨ ਦੇ ਉਸੇ ਪ੍ਰੋਟੋਟਾਈਪ ਨੂੰ ਵੇਖੋ।
ਮੈਕਰੋ ਪਰਿਭਾਸ਼ਾ RT_PLATFORM MCUXpresso ਦੀਆਂ ਪ੍ਰੋਜੈਕਟ ਸੈਟਿੰਗਾਂ 'ਤੇ ਸੈੱਟ ਕੀਤੀ ਗਈ ਹੈ ਜਿਵੇਂ ਕਿ ਚਿੱਤਰ 7 ਵਿੱਚ ਦਿਖਾਇਆ ਗਿਆ ਹੈ: - custom.h ਵਿੱਚ UI_xxx_Callback() ਅਤੇ gui_xxx() ਨਾਮਕ ਸਾਰੇ ਫੰਕਸ਼ਨਾਂ ਦਾ ਐਲਾਨ ਕਰੋ ਅਤੇ UI ਆਉਟਪੁੱਟ HAL ਨਾਲ GUI API ਨੂੰ ਸਾਂਝਾ ਕਰਨ ਲਈ smart_tlhmi_event_descriptor.h ਵਿੱਚ ਸ਼ਾਮਲ custom.h ਸ਼ਾਮਲ ਕਰੋ।
- ਹੇਠਾਂ ਦਿੱਤੇ ਫੰਕਸ਼ਨਾਂ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ custom.c ਵਿੱਚ gui_xxx() ਨਾਮ ਦੇ ਨਵੇਂ ਫੰਕਸ਼ਨਾਂ ਨੂੰ ਸ਼ਾਮਲ ਕਰੋ:
- GUI ਗਾਈਡਰ 'ਤੇ GUI ਦਾ ਵਿਕਾਸ ਕਰੋ:
- ਫੋਲਡਰ ਕੈਮਰਾ ਪ੍ਰੀ ਨੂੰ ਕਲੋਨ ਕਰੋview ਬੇਸ ਸਾਫਟਵੇਅਰ ਪੈਕੇਜ lvgl_gui_camera_pre ਵਿੱਚ gui_guider ਫੋਲਡਰ ਵਿੱਚ GUI ਗਾਈਡਰ ਪ੍ਰੋਜੈਕਟ ਸਾਫਟਵੇਅਰ ਰੱਖਦਾ ਹੈview_cm7. ਸੰਬੰਧਿਤ ਨਾਮ ਬਦਲੋ camera_preview ਨਵੇਂ ਸਾਬਕਾ ਲਈ face_recample.
- ਉਪਰੋਕਤ ਅੱਪਡੇਟ ਕੀਤੇ custom.c ਅਤੇ custom ਨੂੰ ਕਾਪੀ ਕਰੋ। h ਨਵੇਂ GUI ਗਾਈਡਰ ਪ੍ਰੋਜੈਕਟ ਸੌਫਟਵੇਅਰ ਲਈ।
- GUI ਗਾਈਡਰ 'ਤੇ ਨਵਾਂ face_rec ਪ੍ਰੋਜੈਕਟ ਖੋਲ੍ਹੋ। ਹੇਠਾਂ ਦਿੱਤੇ ਅਨੁਸਾਰ ਅਪਡੇਟ ਕਰੋ:
- ਯੂਜ਼ਰ ਨੂੰ ਮਿਟਾਓ ਲੇਬਲ ਵਾਲਾ ਨਵਾਂ ਬਟਨ ਸ਼ਾਮਲ ਕਰੋ। ਇਸ ਵਿੱਚ ਲੁਕੇ ਹੋਏ ਝੰਡੇ ਨੂੰ ਸ਼ਾਮਲ ਕਰੋ ਤਾਂ ਜੋ GUI ਐਪ ਸ਼ੁਰੂ ਹੋਣ 'ਤੇ ਬਟਨ ਨੂੰ ਲੁਕਾਇਆ ਜਾ ਸਕੇ।
- ਚਿਹਰੇ ਦੀ ਰਜਿਸਟ੍ਰੇਸ਼ਨ, ਚਿਹਰਾ ਪਛਾਣਨ ਅਤੇ ਉਪਭੋਗਤਾ ਨੂੰ ਮਿਟਾਉਣ ਦੀਆਂ ਘਟਨਾਵਾਂ ਨੂੰ ਚਾਲੂ ਕਰਨ ਲਈ ਸਾਰੇ ਬਟਨਾਂ ਦੀ ਰਜਿਸਟ੍ਰੇਸ਼ਨ, ਮਾਨਤਾ ਅਤੇ ਉਪਭੋਗਤਾ ਨੂੰ ਮਿਟਾਓ ਦੀ ਇਵੈਂਟ ਸੈਟਿੰਗ ਵਿੱਚ "ਰਿਲੀਜ਼" ਟਰਿੱਗਰ 'ਤੇ ਵੱਖਰੇ ਇਵੈਂਟ ID ਪੈਰਾਮੀਟਰ ਦੇ ਨਾਲ API gui_event_face_rec_action() ਨੂੰ ਕਾਲ ਕਰਨ ਦੀ ਕੋਡ ਲਾਈਨ ਸ਼ਾਮਲ ਕਰੋ। ਚਿੱਤਰ 8 ਬਟਨ ਰਜਿਸਟ੍ਰੇਸ਼ਨ ਦੀ ਘਟਨਾ ਲਈ ਕੋਡ ਦਿਖਾਉਂਦਾ ਹੈ:
- GUI ਗਾਈਡਰ ਤੋਂ MCUXpresso ਪ੍ਰੋਜੈਕਟ ਲਈ ਤਿਆਰ ਕੀਤੇ ਕੋਡ ਨੂੰ ਅੱਪਡੇਟ ਕਰੋ।
- MCUXpresso ਪ੍ਰੋਜੈਕਟ SW ਦੇ ਤਿਆਰ ਕੀਤੇ ਫੋਲਡਰ ਵਿੱਚ ਫੋਲਡਰ ਚਿੱਤਰਾਂ ਨੂੰ ਛੱਡ ਕੇ ਸਮੱਗਰੀ ਨੂੰ GUI ਗਾਈਡਰ ਪ੍ਰੋਜੈਕਟ SW ਦੁਆਰਾ ਤਿਆਰ ਕੀਤੇ ਫੋਲਡਰ ਵਿੱਚ ਸੰਬੰਧਿਤ ਚਿੱਤਰਾਂ ਨਾਲ ਬਦਲੋ।
ਨੋਟ ਕਰੋ: ਉੱਪਰ ਪੇਸ਼ ਕੀਤੀਆਂ ਸੋਧਾਂ ਬਾਰੇ ਹੋਰ ਵੇਰਵਿਆਂ ਲਈ, ਸਾਬਕਾ ਦੀ ਜਾਂਚ ਕਰੋampਤੇ le ਸਾਫਟਵੇਅਰ https://mcuxpresso.nxp.com/appcodehub.
ਸਾਬਕਾ ਨਾਲ ਪੁਸ਼ਟੀਕਰਨample ਪ੍ਰੋਜੈਕਟ
ਸਾਬਕਾ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈample ਸੌਫਟਵੇਅਰ ਪੈਕੇਜ ਜਿਸ ਵਿੱਚ ਇਸ ਐਪਲੀਕੇਸ਼ਨ ਨੋਟ ਲਈ ਸਰੋਤ ਅਤੇ ਟੂਲ ਸ਼ਾਮਲ ਹਨ, ਵੇਖੋ: https://mcuxpresso.nxp.com/appcodehub. ਸਾਬਕਾ ਖੋਲ੍ਹੋampMCUXpresso IDE 'ਤੇ le ਪ੍ਰੋਜੈਕਟ. .axf ਨੂੰ ਬਣਾਓ ਅਤੇ ਪ੍ਰੋਗਰਾਮ ਕਰੋ file ਪਤੇ 'ਤੇ 0x30000000 ਅਤੇ ਸਰੋਤ ਬਿਨ ਨੂੰ ਪ੍ਰੋਗਰਾਮ ਕਰੋ file ਕੈਮਰਾ_ਪ੍ਰੀview_resource.bin ਪਤੇ 0x30800000 'ਤੇ ਭੇਜੋ।
LVGL GUI ਚਿਹਰਾ ਪਛਾਣ ਸਾਬਕਾampਹੇਠ ਲਿਖੇ ਅਨੁਸਾਰ ਆਮ ਤੌਰ 'ਤੇ ਕੰਮ ਕਰਦਾ ਹੈ:
- ਪ੍ਰੀview: ਪਾਵਰ ਅੱਪ ਦੇ ਨਾਲ, ਕੈਮਰੇ ਦੁਆਰਾ ਕੈਪਚਰ ਕੀਤੀਆਂ ਵੀਡੀਓ ਸਟ੍ਰੀਮਾਂ ਕੈਮਰਾ ਪ੍ਰੀ ਦੇ ਖਾਸ ਖੇਤਰ 'ਤੇ ਦਿਖਾਈ ਦਿੰਦੀਆਂ ਹਨview GUI ਸਕਰੀਨ 'ਤੇ। ਸਥਿਤੀ ਲੇਬਲ "ਪ੍ਰੀview…”। ਵੇਰਵਿਆਂ ਲਈ, ਚਿੱਤਰ 3 ਵੇਖੋ। ਯੂਜ਼ਰ ਮਿਟਾਓ ਬਟਨ ਲੁਕਿਆ ਹੋਇਆ ਹੈ। ਬਟਨਾਂ ਅਤੇ ਚਿੱਤਰਾਂ ਦੇ ਬਾਹਰਲੇ ਖੇਤਰ 'ਤੇ ਕਲਿੱਕ ਕਰਦੇ ਸਮੇਂ, ਇਹ ਪ੍ਰੀ ਦਿਖਾਉਂਦਾ ਹੈview ਚਿਹਰਾ ਰਜਿਸਟ੍ਰੇਸ਼ਨ ਜਾਂ ਮਾਨਤਾ ਕਾਰਵਾਈ ਖਤਮ ਹੋਣ ਤੋਂ ਬਾਅਦ ਉਪਰੋਕਤ ਦੇ ਤੌਰ 'ਤੇ ਬਿਆਨ ਕਰੋ।
- ਰਜਿਸਟ੍ਰੇਸ਼ਨ:
- ਟਾਰਟਅੱਪ: ਜਦੋਂ ਰਜਿਸਟ੍ਰੇਸ਼ਨ ਬਟਨ 'ਤੇ ਕਲਿੱਕ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਚਿਹਰਾ ਰਜਿਸਟ੍ਰੇਸ਼ਨ ਸ਼ੁਰੂ ਹੋ ਜਾਂਦਾ ਹੈ। ਸਥਿਤੀ ਲੇਬਲ “ਰਜਿਸਟ੍ਰੇਸ਼ਨ…” ਪ੍ਰਦਰਸ਼ਿਤ ਕਰਨ ਲਈ ਬਦਲਦਾ ਹੈ, ਫੇਸ ਗਾਈਡ ਆਇਤਕਾਰ ਨੀਲਾ ਦਿਖਾਉਂਦਾ ਹੈ, ਅਤੇ ਪ੍ਰਗਤੀ ਪੱਟੀ ਪ੍ਰਗਤੀ ਦਿਖਾਉਣੀ ਸ਼ੁਰੂ ਕਰਦੀ ਹੈ। ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਉਪਭੋਗਤਾ ਦਾ ਚਿਹਰਾ ਰਜਿਸਟ੍ਰੇਸ਼ਨ ਲਈ ਨੀਲੇ ਚਿਹਰੇ ਦੇ ਗਾਈਡ ਆਇਤ ਵਿੱਚ ਦਿਖਾਈ ਦੇ ਰਿਹਾ ਹੈ।
- ਸਫਲਤਾ: ਸਥਿਤੀ ਲੇਬਲ “ਰਜਿਸਟ੍ਰੇਸ਼ਨ…ਓਕੇ” ਅਤੇ ਰਜਿਸਟਰਡ ਯੂਜ਼ਰ ਆਈਡੀ ਨੰਬਰ ਦਿਖਾਉਂਦਾ ਹੈ, ਜੇਕਰ ਬਾਰ 'ਤੇ ਪ੍ਰਗਤੀ ਪੂਰੀ ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ ਚਿਹਰਾ ਰਜਿਸਟ੍ਰੇਸ਼ਨ ਸਫਲ ਹੋ ਜਾਂਦੀ ਹੈ ਤਾਂ ਫੇਸ ਗਾਈਡ ਆਇਤਕਾਰ ਲਾਲ ਹੋ ਜਾਂਦਾ ਹੈ।
- ਅਸਫਲਤਾ -> ਸਮਾਂ ਸਮਾਪਤ: ਸਥਿਤੀ ਲੇਬਲ "ਰਜਿਸਟ੍ਰੇਸ਼ਨ…ਟਾਈਮ ਆਉਟ" ਦਿਖਾਉਂਦਾ ਹੈ ਜੇਕਰ ਫੇਸ ਰਜਿਸਟ੍ਰੇਸ਼ਨ ਅਜੇ ਵੀ ਅਸਫਲ ਹੈ ਜਦੋਂ ਬਾਰ 'ਤੇ ਪ੍ਰਗਤੀ ਪੂਰੀ ਦਿਖਾਈ ਦਿੰਦੀ ਹੈ।
- ਅਸਫਲਤਾ -> ਡੁਪਲੀਕੇਸ਼ਨ: ਸਥਿਤੀ ਲੇਬਲ "ਰਜਿਸਟ੍ਰੇਸ਼ਨ...ਫੇਲ" ਦਿਖਾਉਂਦਾ ਹੈ, ਜੇਕਰ ਬਾਰ 'ਤੇ ਪ੍ਰਗਤੀ ਪੂਰੀ ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ ਰਜਿਸਟਰਡ ਚਿਹਰਾ ਪਛਾਣ ਲਿਆ ਜਾਂਦਾ ਹੈ ਤਾਂ ਚਿਹਰਾ ਗਾਈਡ ਆਇਤ ਹਰਾ ਹੋ ਜਾਂਦਾ ਹੈ।
- ਮਾਨਤਾ:
- ਸਟਾਰਟਅੱਪ: ਜਦੋਂ ਪਛਾਣ ਬਟਨ 'ਤੇ ਕਲਿੱਕ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਚਿਹਰਾ ਪਛਾਣ ਸ਼ੁਰੂ ਹੋ ਜਾਂਦੀ ਹੈ। ਸਥਿਤੀ ਲੇਬਲ “ਪਛਾਣ…” ਪ੍ਰਦਰਸ਼ਿਤ ਕਰਨ ਲਈ ਬਦਲ ਜਾਂਦਾ ਹੈ, ਚਿਹਰਾ ਗਾਈਡ ਆਇਤਕਾਰ ਨੀਲਾ ਦਿਖਾਉਂਦਾ ਹੈ, ਅਤੇ ਪ੍ਰਗਤੀ ਪੱਟੀ ਪ੍ਰਗਤੀ ਦਿਖਾਉਣੀ ਸ਼ੁਰੂ ਕਰਦੀ ਹੈ। ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਉਪਭੋਗਤਾ ਦਾ ਚਿਹਰਾ ਰਜਿਸਟਰੇਸ਼ਨ ਲਈ ਨੀਲੇ ਚਿਹਰੇ ਦੇ ਗਾਈਡ ਆਇਤ ਵਿੱਚ ਦਿਖਾਇਆ ਗਿਆ ਹੈ।
- ਸਫਲਤਾ: ਸਥਿਤੀ ਲੇਬਲ “ਪਛਾਣ…ਠੀਕ” ਅਤੇ ਮਾਨਤਾ ਪ੍ਰਾਪਤ ਉਪਭੋਗਤਾ ਆਈਡੀ ਨੰਬਰ ਦਿਖਾਉਂਦਾ ਹੈ, ਜੇਕਰ ਬਾਰ 'ਤੇ ਪ੍ਰਗਤੀ ਪੂਰੀ ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ ਚਿਹਰਾ ਪਛਾਣ ਸਫਲ ਹੋ ਜਾਂਦੀ ਹੈ ਤਾਂ ਚਿਹਰਾ ਗਾਈਡ ਆਇਤ ਹਰਾ ਹੋ ਜਾਂਦਾ ਹੈ। ਬਿੰਦੂ 'ਤੇ, ਉਪਭੋਗਤਾ ਨੂੰ ਮਿਟਾਓ ਬਟਨ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ. ਇਸਦਾ ਮਤਲਬ ਹੈ ਕਿ ਉਪਭੋਗਤਾ ਨੂੰ ਸਿਰਫ ਉਦੋਂ ਹੀ ਮਿਟਾਉਣ ਦੀ ਇਜਾਜ਼ਤ ਦਿੱਤੀ ਜਾਂਦੀ ਹੈ ਜਦੋਂ ਇਹ ਪਛਾਣਿਆ ਜਾਂਦਾ ਹੈ.
- ਬੀਮਾਰੀ: ਸਥਿਤੀ ਲੇਬਲ "ਪਛਾਣ...ਟਾਈਮ ਆਉਟ" ਦਿਖਾਉਂਦਾ ਹੈ ਜੇਕਰ ਬਾਰ 'ਤੇ ਪ੍ਰਗਤੀ ਪੂਰੀ ਦਿਖਾਈ ਦੇਣ 'ਤੇ ਚਿਹਰਾ ਪਛਾਣ ਅਜੇ ਵੀ ਅਸਫਲ ਰਹਿੰਦੀ ਹੈ।
- ਉਪਭੋਗਤਾ ਨੂੰ ਮਿਟਾਓ: ਜਦੋਂ "ਉਪਭੋਗਤਾ ਨੂੰ ਮਿਟਾਓ" ਬਟਨ 'ਤੇ ਕਲਿੱਕ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਚਿਹਰੇ ਦੀ ਪਛਾਣ ਦੇ ਸਫਲ ਹੋਣ ਤੋਂ ਬਾਅਦ, ਸਥਿਤੀ ਲੇਬਲ "ਉਪਭੋਗਤਾ ਨੂੰ ਮਿਟਾਓ...ਓਕੇ" ਪ੍ਰਦਰਸ਼ਿਤ ਕਰਨ ਲਈ ਬਦਲ ਜਾਂਦਾ ਹੈ ਜਿਸ ਨਾਲ ਚਿਹਰਾ ਗਾਈਡ ਆਇਤਕਾਰ ਨੀਲਾ ਹੁੰਦਾ ਹੈ ਅਤੇ ਬਾਰ 'ਤੇ ਪੂਰੀ ਪ੍ਰਗਤੀ ਦਿਖਾਈ ਦਿੰਦੀ ਹੈ। ਯੂਜ਼ਰ ਨੂੰ ਮਿਟਾਓ ਬਟਨ ਦੁਬਾਰਾ ਲੁਕਿਆ ਹੋਇਆ ਹੈ। ਮਾਨਤਾ ਪ੍ਰਾਪਤ ਚਿਹਰਾ/ਉਪਭੋਗਤਾ ਡੇਟਾਬੇਸ ਤੋਂ ਮਿਟਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। ਇਸਦਾ ਮਤਲਬ ਹੈ ਕਿ ਇਹ ਚਿਹਰਾ/ਉਪਭੋਗਤਾ ਉਦੋਂ ਤੱਕ ਪਛਾਣਿਆ ਨਹੀਂ ਜਾ ਸਕਦਾ ਜਦੋਂ ਤੱਕ ਦੁਬਾਰਾ ਰਜਿਸਟਰ ਨਹੀਂ ਕੀਤਾ ਜਾਂਦਾ।
ਦਸਤਾਵੇਜ਼ ਵਿੱਚ ਸਰੋਤ ਕੋਡ ਬਾਰੇ ਨੋਟ ਕਰੋ
Exampਇਸ ਦਸਤਾਵੇਜ਼ ਵਿੱਚ ਦਿਖਾਏ ਗਏ le ਕੋਡ ਵਿੱਚ ਹੇਠਾਂ ਦਿੱਤੇ ਕਾਪੀਰਾਈਟ ਅਤੇ BSD-3-ਕਲਾਜ਼ ਲਾਇਸੰਸ ਹਨ:
ਕਾਪੀਰਾਈਟ 2024 NXP ਰੀਡਿਸਟ੍ਰੀਬਿਊਸ਼ਨ ਅਤੇ ਸਰੋਤ ਅਤੇ ਬਾਈਨਰੀ ਰੂਪਾਂ ਵਿੱਚ ਵਰਤੋਂ, ਸੋਧ ਦੇ ਨਾਲ ਜਾਂ ਬਿਨਾਂ, ਇਜਾਜ਼ਤ ਦਿੱਤੀ ਜਾਂਦੀ ਹੈ ਬਸ਼ਰਤੇ ਕਿ ਹੇਠਾਂ ਦਿੱਤੀਆਂ ਸ਼ਰਤਾਂ ਪੂਰੀਆਂ ਹੋਣ:
- ਸਰੋਤ ਕੋਡ ਦੀ ਮੁੜ ਵੰਡ ਨੂੰ ਉਪਰੋਕਤ ਕਾਪੀਰਾਈਟ ਨੋਟਿਸ, ਸ਼ਰਤਾਂ ਦੀ ਇਹ ਸੂਚੀ ਅਤੇ ਹੇਠਾਂ ਦਿੱਤੇ ਬੇਦਾਅਵਾ ਨੂੰ ਬਰਕਰਾਰ ਰੱਖਣਾ ਚਾਹੀਦਾ ਹੈ।
- ਬਾਈਨਰੀ ਰੂਪ ਵਿੱਚ ਮੁੜ ਵੰਡ ਲਈ ਉਪਰੋਕਤ ਕਾਪੀਰਾਈਟ ਨੋਟਿਸ, ਸ਼ਰਤਾਂ ਦੀ ਇਹ ਸੂਚੀ ਅਤੇ ਦਸਤਾਵੇਜ਼ਾਂ ਅਤੇ/ਜਾਂ ਹੋਰ ਸਮੱਗਰੀਆਂ ਵਿੱਚ ਹੇਠਾਂ ਦਿੱਤੇ ਬੇਦਾਅਵਾ ਨੂੰ ਵੰਡ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ।
- ਨਾ ਤਾਂ ਕਾਪੀਰਾਈਟ ਧਾਰਕ ਦਾ ਨਾਮ ਅਤੇ ਨਾ ਹੀ ਇਸ ਦੇ ਯੋਗਦਾਨ ਪਾਉਣ ਵਾਲਿਆਂ ਦੇ ਨਾਮ ਵਿਸ਼ੇਸ਼ ਲਿਖਤੀ ਇਜਾਜ਼ਤ ਤੋਂ ਬਿਨਾਂ ਇਸ ਸੌਫਟਵੇਅਰ ਤੋਂ ਲਏ ਗਏ ਉਤਪਾਦਾਂ ਦਾ ਸਮਰਥਨ ਕਰਨ ਜਾਂ ਪ੍ਰਚਾਰ ਕਰਨ ਲਈ ਵਰਤੇ ਜਾ ਸਕਦੇ ਹਨ।
ਇਹ ਸੌਫਟਵੇਅਰ ਕਾਪੀਰਾਈਟ ਧਾਰਕਾਂ ਅਤੇ ਯੋਗਦਾਨੀਆਂ ਦੁਆਰਾ "ਜਿਵੇਂ ਹੈ" ਅਤੇ ਕਿਸੇ ਵੀ ਸਪੱਸ਼ਟ ਜਾਂ ਅਪ੍ਰਤੱਖ ਵਾਰੰਟੀਆਂ ਦੁਆਰਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ, ਜਿਸ ਵਿੱਚ ਸ਼ਾਮਲ ਹੈ, ਪਰ ਇਸ ਤੱਕ ਸੀਮਤ ਨਹੀਂ, ਪਰਿਭਾਸ਼ਿਤ ਵਾਰੰਟੀ ਅਤੇ ਮਾਲਕੀ ਦੀ ਪਰਿਭਾਸ਼ਤ ਵਾਰੰਟੀ ਉਦੇਸ਼ ਦਾ ਖੰਡਨ ਕੀਤਾ ਗਿਆ ਹੈ। ਕਿਸੇ ਵੀ ਸਥਿਤੀ ਵਿੱਚ ਕਾਪੀਰਾਈਟ ਧਾਰਕ ਜਾਂ ਯੋਗਦਾਨ ਪਾਉਣ ਵਾਲੇ ਕਿਸੇ ਵੀ ਪ੍ਰਤੱਖ, ਅਸਿੱਧੇ, ਇਤਫਾਕ, ਵਿਸ਼ੇਸ਼, ਮਿਸਾਲੀ, ਜਾਂ ਨਤੀਜੇ ਵਜੋਂ ਹੋਣ ਵਾਲੇ ਨੁਕਸਾਨਾਂ ਲਈ ਜ਼ਿੰਮੇਵਾਰ ਨਹੀਂ ਹੋਣਗੇ (ਸਮੇਤ, ਪਰ ਸੀਮਤ ਨਹੀਂ। ਜਾਂ ਸੇਵਾਵਾਂ ਦੀ ਵਰਤੋਂ, ਡੇਟਾ, ਜਾਂ ਮੁਨਾਫ਼ੇ ਜਾਂ ਵਪਾਰਕ ਰੁਕਾਵਟ) ਹਾਲਾਂਕਿ ਕਾਰਨ ਅਤੇ ਕਿਸੇ ਵੀ ਦੇਣਦਾਰੀ ਦੇ ਸਿਧਾਂਤ 'ਤੇ, ਭਾਵੇਂ ਇਕਰਾਰਨਾਮੇ ਵਿੱਚ, ਸਖ਼ਤ ਜਵਾਬਦੇਹੀ, ਜਾਂ ਗੈਰ-ਇਨਕਾਰਿੰਗ) ਇਸ ਸੌਫਟਵੇਅਰ ਦੀ ਵਰਤੋਂ ਤੋਂ ਬਾਹਰ ਕਿਸੇ ਵੀ ਤਰੀਕੇ ਨਾਲ, ਭਾਵੇਂ ਇਸ ਤਰ੍ਹਾਂ ਦੇ ਨੁਕਸਾਨ ਦੀ ਸੰਭਾਵਨਾ ਬਾਰੇ ਸਲਾਹ ਦਿੱਤੀ ਗਈ ਹੋਵੇ।
ਸੰਸ਼ੋਧਨ ਇਤਿਹਾਸ
ਕਾਨੂੰਨੀ ਜਾਣਕਾਰੀ
ਪਰਿਭਾਸ਼ਾਵਾਂ
ਡਰਾਫਟ - ਇੱਕ ਦਸਤਾਵੇਜ਼ 'ਤੇ ਇੱਕ ਡਰਾਫਟ ਸਥਿਤੀ ਦਰਸਾਉਂਦੀ ਹੈ ਕਿ ਸਮੱਗਰੀ ਅਜੇ ਵੀ ਅੰਦਰੂਨੀ ਰੀ ਦੇ ਅਧੀਨ ਹੈview ਅਤੇ ਰਸਮੀ ਪ੍ਰਵਾਨਗੀ ਦੇ ਅਧੀਨ, ਜਿਸ ਦੇ ਨਤੀਜੇ ਵਜੋਂ ਸੋਧਾਂ ਜਾਂ ਵਾਧੇ ਹੋ ਸਕਦੇ ਹਨ। NXP ਸੈਮੀਕੰਡਕਟਰ ਕਿਸੇ ਦਸਤਾਵੇਜ਼ ਦੇ ਡਰਾਫਟ ਸੰਸਕਰਣ ਵਿੱਚ ਸ਼ਾਮਲ ਜਾਣਕਾਰੀ ਦੀ ਸ਼ੁੱਧਤਾ ਜਾਂ ਸੰਪੂਰਨਤਾ ਬਾਰੇ ਕੋਈ ਪ੍ਰਤੀਨਿਧਤਾ ਜਾਂ ਵਾਰੰਟੀ ਨਹੀਂ ਦਿੰਦੇ ਹਨ ਅਤੇ ਅਜਿਹੀ ਜਾਣਕਾਰੀ ਦੀ ਵਰਤੋਂ ਦੇ ਨਤੀਜਿਆਂ ਲਈ ਕੋਈ ਜ਼ਿੰਮੇਵਾਰੀ ਨਹੀਂ ਹੋਵੇਗੀ।
ਬੇਦਾਅਵਾ
- ਸੀਮਤ ਵਾਰੰਟੀ ਅਤੇ ਦੇਣਦਾਰੀ - ਇਸ ਦਸਤਾਵੇਜ਼ ਵਿੱਚ ਦਿੱਤੀ ਜਾਣਕਾਰੀ ਨੂੰ ਸਹੀ ਅਤੇ ਭਰੋਸੇਮੰਦ ਮੰਨਿਆ ਜਾਂਦਾ ਹੈ। ਹਾਲਾਂਕਿ, NXP ਸੈਮੀਕੰਡਕਟਰ ਅਜਿਹੀ ਜਾਣਕਾਰੀ ਦੀ ਸ਼ੁੱਧਤਾ ਜਾਂ ਸੰਪੂਰਨਤਾ ਦੇ ਤੌਰ 'ਤੇ ਕੋਈ ਪ੍ਰਤੀਨਿਧਤਾ ਜਾਂ ਵਾਰੰਟੀ ਨਹੀਂ ਦਿੰਦੇ ਹਨ, ਜੋ ਕਿ ਪ੍ਰਗਟ ਜਾਂ ਅਪ੍ਰਤੱਖ ਹੈ ਅਤੇ ਅਜਿਹੀ ਜਾਣਕਾਰੀ ਦੀ ਵਰਤੋਂ ਦੇ ਨਤੀਜਿਆਂ ਲਈ ਕੋਈ ਜਵਾਬਦੇਹੀ ਨਹੀਂ ਹੋਵੇਗੀ। NXP ਸੈਮੀਕੰਡਕਟਰ ਇਸ ਦਸਤਾਵੇਜ਼ ਵਿੱਚ ਸਮੱਗਰੀ ਲਈ ਕੋਈ ਜ਼ਿੰਮੇਵਾਰੀ ਨਹੀਂ ਲੈਂਦੇ ਹਨ ਜੇਕਰ NXP ਸੈਮੀਕੰਡਕਟਰਾਂ ਤੋਂ ਬਾਹਰ ਕਿਸੇ ਜਾਣਕਾਰੀ ਸਰੋਤ ਦੁਆਰਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।
ਕਿਸੇ ਵੀ ਸੂਰਤ ਵਿੱਚ NXP ਸੈਮੀਕੰਡਕਟਰ ਕਿਸੇ ਵੀ ਅਸਿੱਧੇ, ਇਤਫਾਕਨ, ਦੰਡਕਾਰੀ, ਵਿਸ਼ੇਸ਼ ਜਾਂ ਨਤੀਜੇ ਵਾਲੇ ਨੁਕਸਾਨਾਂ ਲਈ ਜਵਾਬਦੇਹ ਨਹੀਂ ਹੋਣਗੇ (ਸਮੇਤ - ਬਿਨਾਂ ਸੀਮਾ ਦੇ - ਗੁਆਚਿਆ ਮੁਨਾਫਾ, ਗੁਆਚੀਆਂ ਬੱਚਤਾਂ, ਵਪਾਰਕ ਰੁਕਾਵਟ, ਕਿਸੇ ਉਤਪਾਦ ਨੂੰ ਹਟਾਉਣ ਜਾਂ ਬਦਲਣ ਨਾਲ ਸਬੰਧਤ ਖਰਚੇ ਜਾਂ ਦੁਬਾਰਾ ਕੰਮ ਕਰਨ ਦੇ ਖਰਚੇ) ਭਾਵੇਂ ਜਾਂ ਨਹੀਂ ਅਜਿਹੇ ਨੁਕਸਾਨ ਟੌਰਟ (ਲਾਪਰਵਾਹੀ ਸਮੇਤ), ਵਾਰੰਟੀ, ਇਕਰਾਰਨਾਮੇ ਦੀ ਉਲੰਘਣਾ ਜਾਂ ਕਿਸੇ ਹੋਰ ਕਾਨੂੰਨੀ ਸਿਧਾਂਤ 'ਤੇ ਅਧਾਰਤ ਹਨ।
ਕਿਸੇ ਵੀ ਨੁਕਸਾਨ ਦੇ ਬਾਵਜੂਦ ਜੋ ਗਾਹਕ ਨੂੰ ਕਿਸੇ ਵੀ ਕਾਰਨ ਕਰਕੇ ਹੋ ਸਕਦਾ ਹੈ, NXP ਸੈਮੀਕੰਡਕਟਰਾਂ ਦੀ ਇੱਥੇ ਵਰਣਿਤ ਉਤਪਾਦਾਂ ਲਈ ਗ੍ਰਾਹਕ ਪ੍ਰਤੀ ਸਮੁੱਚੀ ਅਤੇ ਸੰਚਤ ਦੇਣਦਾਰੀ NXP ਸੈਮੀਕੰਡਕਟਰਾਂ ਦੀ ਵਪਾਰਕ ਵਿਕਰੀ ਦੇ ਨਿਯਮਾਂ ਅਤੇ ਸ਼ਰਤਾਂ ਦੇ ਅਨੁਸਾਰ ਸੀਮਿਤ ਹੋਵੇਗੀ। - ਤਬਦੀਲੀਆਂ ਕਰਨ ਦਾ ਅਧਿਕਾਰ — NXP ਸੈਮੀਕੰਡਕਟਰ ਇਸ ਦਸਤਾਵੇਜ਼ ਵਿੱਚ ਪ੍ਰਕਾਸ਼ਿਤ ਜਾਣਕਾਰੀ ਵਿੱਚ ਤਬਦੀਲੀਆਂ ਕਰਨ ਦਾ ਅਧਿਕਾਰ ਰਾਖਵਾਂ ਰੱਖਦੇ ਹਨ, ਜਿਸ ਵਿੱਚ ਬਿਨਾਂ ਸੀਮਾ ਨਿਰਧਾਰਨ ਅਤੇ ਉਤਪਾਦ ਵਰਣਨ ਸ਼ਾਮਲ ਹਨ, ਕਿਸੇ ਵੀ ਸਮੇਂ ਅਤੇ ਬਿਨਾਂ ਨੋਟਿਸ ਦੇ। ਇਹ ਦਸਤਾਵੇਜ਼ ਇਸ ਦੇ ਪ੍ਰਕਾਸ਼ਨ ਤੋਂ ਪਹਿਲਾਂ ਪ੍ਰਦਾਨ ਕੀਤੀ ਗਈ ਸਾਰੀ ਜਾਣਕਾਰੀ ਨੂੰ ਬਦਲਦਾ ਹੈ ਅਤੇ ਬਦਲਦਾ ਹੈ।
- ਵਰਤਣ ਲਈ ਅਨੁਕੂਲਤਾ — NXP ਸੈਮੀਕੰਡਕਟਰ ਉਤਪਾਦਾਂ ਨੂੰ ਜੀਵਨ ਸਹਾਇਤਾ, ਜੀਵਨ-ਨਾਜ਼ੁਕ ਜਾਂ ਸੁਰੱਖਿਆ-ਨਾਜ਼ੁਕ ਪ੍ਰਣਾਲੀਆਂ ਜਾਂ ਉਪਕਰਣਾਂ ਵਿੱਚ ਵਰਤਣ ਲਈ ਢੁਕਵੇਂ ਹੋਣ ਲਈ ਡਿਜ਼ਾਈਨ, ਅਧਿਕਾਰਤ ਜਾਂ ਵਾਰੰਟੀ ਨਹੀਂ ਦਿੱਤੀ ਗਈ ਹੈ, ਅਤੇ ਨਾ ਹੀ ਉਹਨਾਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਿੱਚ ਜਿੱਥੇ ਇੱਕ NXP ਸੈਮੀਕੰਡਕਟਰ ਉਤਪਾਦ ਦੀ ਅਸਫਲਤਾ ਜਾਂ ਖਰਾਬੀ ਦੇ ਨਤੀਜੇ ਵਜੋਂ ਉਮੀਦ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ। ਨਿੱਜੀ ਸੱਟ, ਮੌਤ ਜਾਂ ਗੰਭੀਰ ਜਾਇਦਾਦ ਜਾਂ ਵਾਤਾਵਰਣ ਨੂੰ ਨੁਕਸਾਨ। NXP ਸੈਮੀਕੰਡਕਟਰ ਅਤੇ ਇਸਦੇ ਸਪਲਾਇਰ ਅਜਿਹੇ ਸਾਜ਼ੋ-ਸਾਮਾਨ ਜਾਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਿੱਚ NXP ਸੈਮੀਕੰਡਕਟਰ ਉਤਪਾਦਾਂ ਨੂੰ ਸ਼ਾਮਲ ਕਰਨ ਅਤੇ/ਜਾਂ ਵਰਤੋਂ ਲਈ ਕੋਈ ਜ਼ਿੰਮੇਵਾਰੀ ਸਵੀਕਾਰ ਨਹੀਂ ਕਰਦੇ ਹਨ ਅਤੇ ਇਸਲਈ ਅਜਿਹਾ ਸ਼ਾਮਲ ਕਰਨਾ ਅਤੇ/ਜਾਂ ਵਰਤੋਂ ਗਾਹਕ ਦੇ ਆਪਣੇ ਜੋਖਮ 'ਤੇ ਹੈ।
- ਐਪਲੀਕੇਸ਼ਨਾਂ — ਇਹਨਾਂ ਵਿੱਚੋਂ ਕਿਸੇ ਵੀ ਉਤਪਾਦ ਲਈ ਇੱਥੇ ਵਰਣਿਤ ਐਪਲੀਕੇਸ਼ਨਾਂ ਸਿਰਫ਼ ਵਿਆਖਿਆਤਮਕ ਉਦੇਸ਼ਾਂ ਲਈ ਹਨ। NXP ਸੈਮੀਕੰਡਕਟਰ ਕੋਈ ਨੁਮਾਇੰਦਗੀ ਜਾਂ ਵਾਰੰਟੀ ਨਹੀਂ ਦਿੰਦੇ ਹਨ ਕਿ ਅਜਿਹੀਆਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਬਿਨਾਂ ਕਿਸੇ ਜਾਂਚ ਜਾਂ ਸੋਧ ਦੇ ਨਿਰਧਾਰਤ ਵਰਤੋਂ ਲਈ ਢੁਕਵਾਂ ਹੋਣਗੀਆਂ।
ਗਾਹਕ NXP ਸੈਮੀਕੰਡਕਟਰ ਉਤਪਾਦਾਂ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਆਪਣੀਆਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਅਤੇ ਉਤਪਾਦਾਂ ਦੇ ਡਿਜ਼ਾਈਨ ਅਤੇ ਸੰਚਾਲਨ ਲਈ ਜ਼ਿੰਮੇਵਾਰ ਹਨ, ਅਤੇ NXP ਸੈਮੀਕੰਡਕਟਰ ਐਪਲੀਕੇਸ਼ਨਾਂ ਜਾਂ ਗਾਹਕ ਉਤਪਾਦ ਡਿਜ਼ਾਈਨ ਦੇ ਨਾਲ ਕਿਸੇ ਵੀ ਸਹਾਇਤਾ ਲਈ ਕੋਈ ਜ਼ਿੰਮੇਵਾਰੀ ਸਵੀਕਾਰ ਨਹੀਂ ਕਰਦੇ ਹਨ। ਇਹ ਨਿਰਧਾਰਿਤ ਕਰਨਾ ਗਾਹਕ ਦੀ ਇਕੱਲੀ ਜ਼ਿੰਮੇਵਾਰੀ ਹੈ ਕਿ ਕੀ NXP ਸੈਮੀਕੰਡਕਟਰ ਉਤਪਾਦ ਗਾਹਕ ਦੀਆਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਅਤੇ ਯੋਜਨਾਬੱਧ ਉਤਪਾਦਾਂ ਦੇ ਨਾਲ-ਨਾਲ ਯੋਜਨਾਬੱਧ ਐਪਲੀਕੇਸ਼ਨ ਅਤੇ ਗਾਹਕ ਦੇ ਤੀਜੀ ਧਿਰ ਦੇ ਗਾਹਕਾਂ ਦੀ ਵਰਤੋਂ ਲਈ ਢੁਕਵਾਂ ਅਤੇ ਫਿੱਟ ਹੈ ਜਾਂ ਨਹੀਂ। ਗਾਹਕਾਂ ਨੂੰ ਉਹਨਾਂ ਦੀਆਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਅਤੇ ਉਤਪਾਦਾਂ ਨਾਲ ਜੁੜੇ ਜੋਖਮਾਂ ਨੂੰ ਘੱਟ ਕਰਨ ਲਈ ਉਚਿਤ ਡਿਜ਼ਾਈਨ ਅਤੇ ਸੰਚਾਲਨ ਸੁਰੱਖਿਆ ਉਪਾਅ ਪ੍ਰਦਾਨ ਕਰਨੇ ਚਾਹੀਦੇ ਹਨ। NXP ਸੈਮੀਕੰਡਕਟਰ ਕਿਸੇ ਵੀ ਡਿਫਾਲਟ, ਨੁਕਸਾਨ, ਲਾਗਤਾਂ ਜਾਂ ਸਮੱਸਿਆ ਨਾਲ ਸਬੰਧਤ ਕਿਸੇ ਵੀ ਦੇਣਦਾਰੀ ਨੂੰ ਸਵੀਕਾਰ ਨਹੀਂ ਕਰਦੇ ਹਨ ਜੋ ਗਾਹਕ ਦੀਆਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਜਾਂ ਉਤਪਾਦਾਂ ਵਿੱਚ ਕਿਸੇ ਕਮਜ਼ੋਰੀ ਜਾਂ ਡਿਫਾਲਟ 'ਤੇ ਅਧਾਰਤ ਹੈ, ਜਾਂ ਗਾਹਕ ਦੇ ਤੀਜੀ ਧਿਰ ਗਾਹਕਾਂ ਦੁਆਰਾ ਐਪਲੀਕੇਸ਼ਨ ਜਾਂ ਵਰਤੋਂ 'ਤੇ ਅਧਾਰਤ ਹੈ। ਗ੍ਰਾਹਕ ਐਪਲੀਕੇਸ਼ਨਾਂ ਅਤੇ ਉਤਪਾਦਾਂ ਜਾਂ ਐਪਲੀਕੇਸ਼ਨ ਦੇ ਡਿਫਾਲਟ ਤੋਂ ਬਚਣ ਲਈ NXP ਸੈਮੀਕੰਡਕਟਰ ਉਤਪਾਦਾਂ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਗਾਹਕ ਦੀਆਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਅਤੇ ਉਤਪਾਦਾਂ ਲਈ ਸਾਰੇ ਲੋੜੀਂਦੇ ਟੈਸਟ ਕਰਨ ਲਈ ਜ਼ਿੰਮੇਵਾਰ ਹੈ ਜਾਂ ਗਾਹਕ ਦੇ ਤੀਜੀ ਧਿਰ ਗਾਹਕਾਂ ਦੁਆਰਾ ਵਰਤੋਂ. NXP ਇਸ ਸਬੰਧ ਵਿੱਚ ਕੋਈ ਦੇਣਦਾਰੀ ਸਵੀਕਾਰ ਨਹੀਂ ਕਰਦਾ ਹੈ। - ਵਪਾਰਕ ਵਿਕਰੀ ਦੇ ਨਿਯਮ ਅਤੇ ਸ਼ਰਤਾਂ — NXP ਸੈਮੀਕੰਡਕਟਰ ਉਤਪਾਦ ਵਪਾਰਕ ਵਿਕਰੀ ਦੇ ਆਮ ਨਿਯਮਾਂ ਅਤੇ ਸ਼ਰਤਾਂ ਦੇ ਅਧੀਨ ਵੇਚੇ ਜਾਂਦੇ ਹਨ, ਜਿਵੇਂ ਕਿ https://www.nxp.com/pro 'ਤੇ ਪ੍ਰਕਾਸ਼ਿਤ ਕੀਤਾ ਗਿਆ ਹੈ।file/ਸ਼ਰਤਾਂ, ਜਦੋਂ ਤੱਕ ਕਿ ਇੱਕ ਵੈਧ ਲਿਖਤੀ ਵਿਅਕਤੀਗਤ ਸਮਝੌਤੇ ਵਿੱਚ ਸਹਿਮਤੀ ਨਾ ਹੋਵੇ। ਜੇਕਰ ਕੋਈ ਵਿਅਕਤੀਗਤ ਸਮਝੌਤਾ ਸਿੱਟਾ ਕੱਢਿਆ ਜਾਂਦਾ ਹੈ ਤਾਂ ਸਿਰਫ਼ ਸੰਬੰਧਿਤ ਸਮਝੌਤੇ ਦੇ ਨਿਯਮ ਅਤੇ ਸ਼ਰਤਾਂ ਲਾਗੂ ਹੋਣਗੀਆਂ। NXP ਸੈਮੀਕੰਡਕਟਰ ਇਸ ਦੁਆਰਾ ਗਾਹਕ ਦੁਆਰਾ NXP ਸੈਮੀਕੰਡਕਟਰ ਉਤਪਾਦਾਂ ਦੀ ਖਰੀਦ ਦੇ ਸੰਬੰਧ ਵਿੱਚ ਗਾਹਕ ਦੇ ਆਮ ਨਿਯਮਾਂ ਅਤੇ ਸ਼ਰਤਾਂ ਨੂੰ ਲਾਗੂ ਕਰਨ ਲਈ ਸਪਸ਼ਟ ਤੌਰ 'ਤੇ ਇਤਰਾਜ਼ ਕਰਦੇ ਹਨ।
- ਨਿਰਯਾਤ ਕੰਟਰੋਲ — ਇਹ ਦਸਤਾਵੇਜ਼ ਦੇ ਨਾਲ-ਨਾਲ ਇੱਥੇ ਵਰਣਿਤ ਆਈਟਮਾਂ (ਆਈਟਮਾਂ) ਨਿਰਯਾਤ ਨਿਯੰਤਰਣ ਨਿਯਮਾਂ ਦੇ ਅਧੀਨ ਹੋ ਸਕਦੀਆਂ ਹਨ। ਨਿਰਯਾਤ ਲਈ ਸਮਰੱਥ ਅਥਾਰਟੀਆਂ ਤੋਂ ਪਹਿਲਾਂ ਅਧਿਕਾਰ ਦੀ ਲੋੜ ਹੋ ਸਕਦੀ ਹੈ।
- ਗੈਰ-ਆਟੋਮੋਟਿਵ ਯੋਗ ਉਤਪਾਦਾਂ ਵਿੱਚ ਵਰਤੋਂ ਲਈ ਅਨੁਕੂਲਤਾ — ਜਦੋਂ ਤੱਕ ਇਹ ਦਸਤਾਵੇਜ਼ ਸਪੱਸ਼ਟ ਤੌਰ 'ਤੇ ਇਹ ਨਹੀਂ ਦੱਸਦਾ ਕਿ ਇਹ ਖਾਸ NXP ਸੈਮੀਕੰਡਕਟਰ ਉਤਪਾਦ ਆਟੋਮੋਟਿਵ ਯੋਗਤਾ ਪ੍ਰਾਪਤ ਹੈ, ਉਤਪਾਦ ਆਟੋਮੋਟਿਵ ਵਰਤੋਂ ਲਈ ਢੁਕਵਾਂ ਨਹੀਂ ਹੈ। ਇਹ ਆਟੋਮੋਟਿਵ ਟੈਸਟਿੰਗ ਜਾਂ ਐਪਲੀਕੇਸ਼ਨ ਲੋੜਾਂ ਦੇ ਅਨੁਸਾਰ ਨਾ ਤਾਂ ਯੋਗ ਹੈ ਅਤੇ ਨਾ ਹੀ ਟੈਸਟ ਕੀਤਾ ਗਿਆ ਹੈ। NXP ਸੈਮੀਕੰਡਕਟਰ ਆਟੋਮੋਟਿਵ ਉਪਕਰਣਾਂ ਜਾਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਿੱਚ ਗੈਰ-ਆਟੋਮੋਟਿਵ ਯੋਗਤਾ ਪ੍ਰਾਪਤ ਉਤਪਾਦਾਂ ਨੂੰ ਸ਼ਾਮਲ ਕਰਨ ਅਤੇ/ਜਾਂ ਵਰਤੋਂ ਲਈ ਕੋਈ ਜ਼ਿੰਮੇਵਾਰੀ ਸਵੀਕਾਰ ਨਹੀਂ ਕਰਦੇ ਹਨ।
ਅਜਿਹੀ ਸਥਿਤੀ ਵਿੱਚ ਜਦੋਂ ਗਾਹਕ ਆਟੋਮੋਟਿਵ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਅਤੇ ਮਿਆਰਾਂ ਲਈ ਆਟੋਮੋਟਿਵ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਿੱਚ ਡਿਜ਼ਾਈਨ-ਇਨ ਅਤੇ ਵਰਤੋਂ ਲਈ ਉਤਪਾਦ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ, ਗਾਹਕ (ਏ) ਅਜਿਹੇ ਆਟੋਮੋਟਿਵ ਐਪਲੀਕੇਸ਼ਨਾਂ, ਵਰਤੋਂ ਅਤੇ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਲਈ ਉਤਪਾਦ ਦੀ NXP ਸੈਮੀਕੰਡਕਟਰਾਂ ਦੀ ਵਾਰੰਟੀ ਤੋਂ ਬਿਨਾਂ ਉਤਪਾਦ ਦੀ ਵਰਤੋਂ ਕਰੇਗਾ, ਅਤੇ ( b) ਜਦੋਂ ਵੀ ਗਾਹਕ NXP ਸੈਮੀਕੰਡਕਟਰਾਂ ਦੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਤੋਂ ਪਰੇ ਆਟੋਮੋਟਿਵ ਐਪਲੀਕੇਸ਼ਨਾਂ ਲਈ ਉਤਪਾਦ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ ਤਾਂ ਅਜਿਹੀ ਵਰਤੋਂ ਪੂਰੀ ਤਰ੍ਹਾਂ ਗਾਹਕ ਦੇ ਆਪਣੇ ਜੋਖਮ 'ਤੇ ਹੋਵੇਗੀ, ਅਤੇ (c) ਗਾਹਕ ਕਿਸੇ ਵੀ ਦੇਣਦਾਰੀ, ਨੁਕਸਾਨ ਜਾਂ ਅਸਫਲ ਉਤਪਾਦ ਦਾਅਵਿਆਂ ਲਈ ਗਾਹਕ ਦੇ ਡਿਜ਼ਾਈਨ ਅਤੇ ਵਰਤੋਂ ਦੇ ਨਤੀਜੇ ਵਜੋਂ NXP ਸੈਮੀਕੰਡਕਟਰਾਂ ਨੂੰ ਪੂਰੀ ਤਰ੍ਹਾਂ ਮੁਆਵਜ਼ਾ ਦਿੰਦਾ ਹੈ। NXP ਸੈਮੀਕੰਡਕਟਰਾਂ ਦੀ ਮਿਆਰੀ ਵਾਰੰਟੀ ਅਤੇ NXP ਸੈਮੀਕੰਡਕਟਰਾਂ ਦੇ ਉਤਪਾਦ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਤੋਂ ਪਰੇ ਆਟੋਮੋਟਿਵ ਐਪਲੀਕੇਸ਼ਨਾਂ ਲਈ ਉਤਪਾਦ। - ਅਨੁਵਾਦ - ਕਿਸੇ ਦਸਤਾਵੇਜ਼ ਦਾ ਇੱਕ ਗੈਰ-ਅੰਗਰੇਜ਼ੀ (ਅਨੁਵਾਦਿਤ) ਸੰਸਕਰਣ, ਉਸ ਦਸਤਾਵੇਜ਼ ਵਿੱਚ ਕਾਨੂੰਨੀ ਜਾਣਕਾਰੀ ਸਮੇਤ, ਸਿਰਫ ਸੰਦਰਭ ਲਈ ਹੈ। ਅਨੁਵਾਦਿਤ ਅਤੇ ਅੰਗਰੇਜ਼ੀ ਸੰਸਕਰਣਾਂ ਵਿੱਚ ਕਿਸੇ ਵੀ ਅੰਤਰ ਦੀ ਸਥਿਤੀ ਵਿੱਚ ਅੰਗਰੇਜ਼ੀ ਸੰਸਕਰਣ ਪ੍ਰਬਲ ਹੋਵੇਗਾ।
- ਸੁਰੱਖਿਆ — ਗਾਹਕ ਸਮਝਦਾ ਹੈ ਕਿ ਸਾਰੇ NXP ਉਤਪਾਦ ਅਣਪਛਾਤੇ ਕਮਜ਼ੋਰੀਆਂ ਦੇ ਅਧੀਨ ਹੋ ਸਕਦੇ ਹਨ ਜਾਂ ਜਾਣੀਆਂ-ਪਛਾਣੀਆਂ ਸੀਮਾਵਾਂ ਦੇ ਨਾਲ ਸਥਾਪਤ ਸੁਰੱਖਿਆ ਮਿਆਰਾਂ ਜਾਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦਾ ਸਮਰਥਨ ਕਰ ਸਕਦੇ ਹਨ। ਗਾਹਕ ਦੀਆਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਅਤੇ ਉਤਪਾਦਾਂ 'ਤੇ ਇਹਨਾਂ ਕਮਜ਼ੋਰੀਆਂ ਦੇ ਪ੍ਰਭਾਵ ਨੂੰ ਘਟਾਉਣ ਲਈ ਗਾਹਕ ਆਪਣੇ ਜੀਵਨ-ਚੱਕਰ ਦੌਰਾਨ ਆਪਣੀਆਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਅਤੇ ਉਤਪਾਦਾਂ ਦੇ ਡਿਜ਼ਾਈਨ ਅਤੇ ਸੰਚਾਲਨ ਲਈ ਜ਼ਿੰਮੇਵਾਰ ਹੈ। ਗਾਹਕ ਦੀ ਜ਼ਿੰਮੇਵਾਰੀ ਗਾਹਕ ਦੀਆਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਿੱਚ ਵਰਤੋਂ ਲਈ NXP ਉਤਪਾਦਾਂ ਦੁਆਰਾ ਸਮਰਥਿਤ ਹੋਰ ਖੁੱਲ੍ਹੀਆਂ ਅਤੇ/ਜਾਂ ਮਲਕੀਅਤ ਵਾਲੀਆਂ ਤਕਨਾਲੋਜੀਆਂ ਤੱਕ ਵੀ ਵਧਦੀ ਹੈ। NXP ਕਿਸੇ ਵੀ ਕਮਜ਼ੋਰੀ ਲਈ ਕੋਈ ਜ਼ਿੰਮੇਵਾਰੀ ਸਵੀਕਾਰ ਨਹੀਂ ਕਰਦਾ। ਗਾਹਕ ਨੂੰ ਨਿਯਮਿਤ ਤੌਰ 'ਤੇ NXP ਤੋਂ ਸੁਰੱਖਿਆ ਅਪਡੇਟਾਂ ਦੀ ਜਾਂਚ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ ਅਤੇ ਉਚਿਤ ਢੰਗ ਨਾਲ ਪਾਲਣਾ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ। ਗਾਹਕ ਸੁਰੱਖਿਆ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਵਾਲੇ ਉਤਪਾਦਾਂ ਦੀ ਚੋਣ ਕਰੇਗਾ ਜੋ ਉਦੇਸ਼ਿਤ ਐਪਲੀਕੇਸ਼ਨ ਦੇ ਨਿਯਮਾਂ, ਨਿਯਮਾਂ ਅਤੇ ਮਾਪਦੰਡਾਂ ਨੂੰ ਸਭ ਤੋਂ ਵਧੀਆ ਢੰਗ ਨਾਲ ਪੂਰਾ ਕਰਦੇ ਹਨ ਅਤੇ ਇਸਦੇ ਉਤਪਾਦਾਂ ਦੇ ਸੰਬੰਧ ਵਿੱਚ ਅੰਤਮ ਡਿਜ਼ਾਈਨ ਫੈਸਲੇ ਲੈਂਦੇ ਹਨ ਅਤੇ ਇਸਦੇ ਉਤਪਾਦਾਂ ਦੇ ਸੰਬੰਧ ਵਿੱਚ ਸਾਰੀਆਂ ਕਾਨੂੰਨੀ, ਰੈਗੂਲੇਟਰੀ ਅਤੇ ਸੁਰੱਖਿਆ ਸੰਬੰਧੀ ਜ਼ਰੂਰਤਾਂ ਦੀ ਪਾਲਣਾ ਕਰਨ ਲਈ ਪੂਰੀ ਤਰ੍ਹਾਂ ਜ਼ਿੰਮੇਵਾਰ ਹੁੰਦੇ ਹਨ, ਭਾਵੇਂ ਕਿਸੇ ਵੀ ਜਾਣਕਾਰੀ ਜਾਂ ਸਹਾਇਤਾ ਦੀ ਜੋ NXP ਦੁਆਰਾ ਪ੍ਰਦਾਨ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ।
NXP ਕੋਲ ਉਤਪਾਦ ਸੁਰੱਖਿਆ ਘਟਨਾ ਪ੍ਰਤੀਕਿਰਿਆ ਟੀਮ (PSIRT) (PSIRT@nxp.com 'ਤੇ ਪਹੁੰਚਯੋਗ) ਹੈ ਜੋ NXP ਉਤਪਾਦਾਂ ਦੀਆਂ ਸੁਰੱਖਿਆ ਕਮਜ਼ੋਰੀਆਂ ਦੀ ਜਾਂਚ, ਰਿਪੋਰਟਿੰਗ ਅਤੇ ਹੱਲ ਜਾਰੀ ਕਰਨ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਦੀ ਹੈ।
NXP BV — NXP BV ਕੋਈ ਓਪਰੇਟਿੰਗ ਕੰਪਨੀ ਨਹੀਂ ਹੈ ਅਤੇ ਇਹ ਉਤਪਾਦਾਂ ਨੂੰ ਵੰਡ ਜਾਂ ਵੇਚਦੀ ਨਹੀਂ ਹੈ।
ਟ੍ਰੇਡਮਾਰਕ
ਨੋਟਿਸ: ਸਾਰੇ ਹਵਾਲਾ ਦਿੱਤੇ ਬ੍ਰਾਂਡ, ਉਤਪਾਦ ਦੇ ਨਾਮ, ਸੇਵਾ ਦੇ ਨਾਮ ਅਤੇ ਟ੍ਰੇਡਮਾਰਕ ਉਹਨਾਂ ਦੇ ਸੰਬੰਧਿਤ ਮਾਲਕਾਂ ਦੀ ਸੰਪਤੀ ਹਨ।
NXP — ਵਰਡਮਾਰਕ ਅਤੇ ਲੋਗੋ NXP BV ਦੇ ਟ੍ਰੇਡਮਾਰਕ ਹਨ
AMBA, Arm, Arm7, Arm7TDMI, Arm9, Arm11, Artisan, big.LITTLE, Cordio, CoreLink, CoreSight, Cortex, DesignStart, DynamIQ, Jazelle, Keil, Mali, Mbed, Mbed ਸਮਰਥਿਤ, NEON, POP, RealView, SecurCore, Socrates, Thumb, TrustZone, ULINK, ULINK2, ULINK-ME, ULINK-PLUS, ULINKpro, μVision, Versatile — ਅਮਰੀਕਾ ਅਤੇ/ਜਾਂ ਵਿੱਚ ਆਰਮ ਲਿਮਿਟੇਡ (ਜਾਂ ਇਸਦੀਆਂ ਸਹਾਇਕ ਕੰਪਨੀਆਂ ਜਾਂ ਸਹਿਯੋਗੀਆਂ) ਦੇ ਟ੍ਰੇਡਮਾਰਕ ਅਤੇ/ਜਾਂ ਰਜਿਸਟਰਡ ਟ੍ਰੇਡਮਾਰਕ ਹਨ। ਕਿਤੇ ਹੋਰ। ਸੰਬੰਧਿਤ ਤਕਨਾਲੋਜੀ ਨੂੰ ਕਿਸੇ ਵੀ ਜਾਂ ਸਾਰੇ ਪੇਟੈਂਟ, ਕਾਪੀਰਾਈਟਸ, ਡਿਜ਼ਾਈਨ ਅਤੇ ਵਪਾਰਕ ਰਾਜ਼ਾਂ ਦੁਆਰਾ ਸੁਰੱਖਿਅਤ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ। ਸਾਰੇ ਹੱਕ ਰਾਖਵੇਂ ਹਨ.
- i.MX - NXP BV ਦਾ ਟ੍ਰੇਡਮਾਰਕ ਹੈ
- ਜੇ-ਲਿੰਕ — SEGGER Microcontroller GmbH ਦਾ ਟ੍ਰੇਡਮਾਰਕ ਹੈ।
Microsoft, Azure, ਅਤੇ ThreadX — Microsoft ਗਰੁੱਪ ਆਫ਼ ਕੰਪਨੀਆਂ ਦੇ ਟ੍ਰੇਡਮਾਰਕ ਹਨ।
ਕਿਰਪਾ ਕਰਕੇ ਧਿਆਨ ਰੱਖੋ ਕਿ ਇਸ ਦਸਤਾਵੇਜ਼ ਅਤੇ ਇੱਥੇ ਵਰਣਿਤ ਉਤਪਾਦ (ਉਤਪਾਦਾਂ) ਦੇ ਸੰਬੰਧ ਵਿੱਚ ਮਹੱਤਵਪੂਰਨ ਨੋਟਿਸ, ਸੈਕਸ਼ਨ 'ਕਾਨੂੰਨੀ ਜਾਣਕਾਰੀ' ਵਿੱਚ ਸ਼ਾਮਲ ਕੀਤੇ ਗਏ ਹਨ।
© 2024 NXP BV
ਹੋਰ ਜਾਣਕਾਰੀ ਲਈ, ਕਿਰਪਾ ਕਰਕੇ ਇੱਥੇ ਜਾਓ: https://www.nxp.com
- ਰਿਲੀਜ਼ ਦੀ ਮਿਤੀ: 19 ਅਪ੍ਰੈਲ 2024
- ਦਸਤਾਵੇਜ਼ ਪਛਾਣਕਰਤਾ: AN14263
FAQ
ਸਵਾਲ: ਇਸ ਉਤਪਾਦ ਦਾ ਮੁੱਖ ਉਦੇਸ਼ ਕੀ ਹੈ?
A: ਮੁੱਖ ਉਦੇਸ਼ ਇੱਕ ਸਧਾਰਨ LVGL GUI ਸਾਬਕਾ ਦੇ ਨਾਲ ਇੱਕ AI&ML ਵਿਜ਼ਨ ਐਲਗੋਰਿਦਮ ਮਾਡਲ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਚਿਹਰੇ ਦੀ ਪਛਾਣ ਫੰਕਸ਼ਨ ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਣਾ ਹੈampSLN-TLHMI-IOT ਬੋਰਡ 'ਤੇ le.
ਸਵਾਲ: ਡਿਵੈਲਪਰ ਇਸ ਐਪਲੀਕੇਸ਼ਨ ਨੋਟ ਤੋਂ ਕਿਵੇਂ ਲਾਭ ਲੈ ਸਕਦੇ ਹਨ?
A: ਡਿਵੈਲਪਰ ਸਿੱਖ ਸਕਦੇ ਹਨ ਕਿ ਪ੍ਰਦਾਨ ਕੀਤੇ ਗਏ ਐਕਸ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਫਰੇਮਵਰਕ 'ਤੇ ਚਿਹਰੇ ਦੀ ਪਛਾਣ ਨੂੰ ਕਿਵੇਂ ਲਾਗੂ ਕਰਨਾ ਹੈample ਅਤੇ ਇਸ ਵਿੱਚ ਸ਼ਾਮਲ ਡਿਵਾਈਸ ਪ੍ਰਬੰਧਕਾਂ, HAL ਡਿਵਾਈਸਾਂ, ਅਤੇ ਇਵੈਂਟ ਵਿਧੀਆਂ ਨੂੰ ਸਮਝੋ।
ਦਸਤਾਵੇਜ਼ / ਸਰੋਤ
![]() |
NXP AN14263 Framewar 'ਤੇ LVGL GUI ਚਿਹਰਾ ਪਛਾਣ ਲਾਗੂ ਕਰੋ [pdf] ਯੂਜ਼ਰ ਗਾਈਡ AN14263 Framewor 'ਤੇ LVGL GUI ਫੇਸ ਰਿਕੋਗਨੀਸ਼ਨ ਲਾਗੂ ਕਰੋ, AN14263, Framewor 'ਤੇ LVGL GUI ਫੇਸ ਰਿਕੋਗਨੀਸ਼ਨ ਲਾਗੂ ਕਰੋ, Framewor 'ਤੇ LVGL GUI ਫੇਸ ਰਿਕੋਗਨੀਸ਼ਨ, ਫਰੇਮਵਰ 'ਤੇ ਚਿਹਰੇ ਦੀ ਪਛਾਣ, Framewor 'ਤੇ ਪਛਾਣ, |