সেভ করা পৃষ্ঠা গুছিয়ে রাখতে 'সংগ্রহ' ব্যবহার করুন
আপনার পছন্দ অনুযায়ী কন্টেন্ট সেভ করুন ও সঠিক বিভাগে রাখুন।
স্বীকৃতি
কিছু বার্তা কোড গ্রহণকারীর কাছ থেকে একটি স্বীকৃতি প্রয়োজন। এই ক্ষেত্রে, মেসেজ পাওয়ার 1 সেকেন্ডের মধ্যে রিসিভারকে একটি স্বীকৃতি (ACK) বা নেতিবাচক-স্বীকৃতি (NAK) পাঠাতে হবে।
বার্তা গ্রুপের নাম
মান
স্বীকৃতি
0xFF
স্বীকৃতি কোডের নাম
মান
ACK
0x01
NAK
0x02
বার্তা প্রাপ্তির পরে স্বীকৃতিগুলি সরাসরি পাঠানো উচিত যাতে প্রেরক সেই অনুযায়ী কাজ করতে পারে। একটি স্বীকৃতিতে বার্তা গ্রুপ , কোড এবং বার্তাটির বর্তমান অবস্থা থাকা উচিত যা এটি উল্লেখ করছে৷ উদাহরণস্বরূপ, যদি প্রদানকারী রিং অ্যাকশন ( 0x04010002013C ) সম্বলিত একটি বার্তা পায়, তাহলে তাকে 0xFF0100040401013C ফেরত পাঠানোর মাধ্যমে অ্যাকশনটি স্বীকার করা উচিত যেখানে:
0xFF: ACK ইভেন্ট
0x01: ACK কোড
0x0004: অতিরিক্ত ডেটা দৈর্ঘ্য
0x0401: অ্যাকশন মেসেজ গ্রুপ এবং কোড
0x013C: অ্যাকশন মেসেজ গ্রুপের বর্তমান অবস্থা এবং কোড, ডানে রিং এবং 60 সেকেন্ডের সময়সীমা
একটি NAK-এর জন্য, কারণটি অতিরিক্ত ডেটার প্রথম বাইট হিসাবে অন্তর্ভুক্ত করা উচিত। কারণ অন্তর্ভুক্ত:
0x00: সমর্থিত নয়
0x01: ডিভাইস ব্যস্ত
0x02: বর্তমান অবস্থার কারণে অনুমোদিত নয়
0x03: ভুল বার্তা প্রমাণীকরণ কোডের কারণে অনুমোদিত নয়
0x04: অপ্রয়োজনীয় ডিভাইস কর্ম
পূর্ববর্তী উদাহরণ থেকে, যদি প্রদানকারী অন্য কাজে ব্যস্ত থাকার কারণে রিংটি NAK'ed করা হয়, তবে ফেরত প্যাকেটটি 0xFF02000401040100 সেট করা উচিত যেখানে
0xFF: ACK ইভেন্ট
0x02: NAK কোড
0x0004: অতিরিক্ত ডেটা দৈর্ঘ্য
0x01: NAK কারণ, ডিভাইস ব্যস্ত
0x0401: অ্যাকশন মেসেজ গ্রুপ এবং কোড
0x00: অ্যাকশন বার্তা গ্রুপ এবং কোডের বর্তমান অবস্থা, সমস্ত উপাদান বাজানো বন্ধ করে
উদাহরণ:
#define FP_MSG_ACK 0x01#define FP_MSG_NAK 0x02#define FP_MSG_GROUP_ACK 0xFFstaticvoidfp_msg_send_ack(uint8_tmsgGroup,uint8_tmsgCode){FP_MESSAGE_STREAMreq={FP_MSG_GROUP_ACK,FP_MSG_ACK,0,2};req.data[0]=msgGroup;req.data[1]=msgCode;fp_send((uint8_t*)&req);}staticvoidfp_msg_send_nak(uint8_treason,uint8_tmsgGroup,uint8_tmsgCode){//reason= 0x00: Not supported, 0x01: Device busy, or 0x02: Not allowed due to current stateFP_MESSAGE_STREAMreq={FP_MSG_GROUP_ACK,FP_MSG_NAK,0,3};req.data[0]=reason;req.data[1]=msgGroup;req.data[2]=msgCode;fp_send((uint8_t*)&req);}
[[["সহজে বোঝা যায়","easyToUnderstand","thumb-up"],["আমার সমস্যার সমাধান হয়েছে","solvedMyProblem","thumb-up"],["অন্যান্য","otherUp","thumb-up"]],[["এতে আমার প্রয়োজনীয় তথ্য নেই","missingTheInformationINeed","thumb-down"],["খুব জটিল / অনেক ধাপ","tooComplicatedTooManySteps","thumb-down"],["পুরনো","outOfDate","thumb-down"],["অনুবাদ সংক্রান্ত সমস্যা","translationIssue","thumb-down"],["নমুনা / কোড সংক্রান্ত সমস্যা","samplesCodeIssue","thumb-down"],["অন্যান্য","otherDown","thumb-down"]],["2025-08-13 UTC-তে শেষবার আপডেট করা হয়েছে।"],[[["\u003cp\u003eSome message codes require an acknowledgement (ACK) or negative-acknowledgement (NAK) response within 1 second, sent only when specified.\u003c/p\u003e\n"],["\u003cp\u003eAcknowledgements (ACKs) use the code \u003ccode\u003e0xFF01\u003c/code\u003e and should include the referenced message's group, code, and current state.\u003c/p\u003e\n"],["\u003cp\u003eNegative-acknowledgements (NAKs) use the code \u003ccode\u003e0xFF02\u003c/code\u003e and provide a reason code (e.g., \u003ccode\u003e0x01\u003c/code\u003e for Device busy) along with the message's group and code.\u003c/p\u003e\n"],["\u003cp\u003eThe acknowledgement structure includes the event (ACK/NAK), code, additional data length, and relevant message details.\u003c/p\u003e\n"],["\u003cp\u003eExample code snippets demonstrate sending ACKs and NAKs using pre-defined message group and code values.\u003c/p\u003e\n"]]],["Receivers must send an acknowledgement (ACK) or negative-acknowledgement (NAK) within one second for specific message codes. ACKs (0x01) and NAKs (0x02) belong to the 0xFF message group. Responses include the message group, code, and current state of the action, and for NAKs, a reason. Example reasons: Not supported (0x00), Device busy (0x01), Not allowed (0x02), Incorrect message code (0x03) or Redundant action (0x04). Example for ring action: `0xFF0100040401013C` or NAK :`0xFF02000401040100`.\n"],null,[]]