
Flipper Zero फर्मवेयर सोर्स कोड
हमारा मुख्य लक्ष्य Flipper के आसपास एक स्वस्थ और स्थायी समुदाय का निर्माण करना है, इसलिए हम किसी भी नए विचार और योगदान के लिए खुले हैं। हमारे यहाँ कुछ नियम और वर्जनाएँ भी हैं, इसलिए कृपया इस पृष्ठ को और हमारे Code of Conduct को ध्यान से पढ़ें।
उत्तर खोजने के लिए सबसे अच्छी जगह हमारा User Documentation है। यदि आपको वहाँ उत्तर नहीं मिलता है, तो हमारे Discord Server को देखें। यदि आप फ़र्मवेयर विकास में योगदान देना चाहते हैं या इसे अपनी आवश्यकताओं के लिए संशोधित करना चाहते हैं, तो आप हमारे Developer Documentation को भी देख सकते हैं।
यदि आपको कोई समस्या मिली है और आप उसे रिपोर्ट करना चाहते हैं, तो कृपया हमारे Issues पृष्ठ को देखें। सुनिश्चित करें कि विवरण में आपके द्वारा उपयोग किए जा रहे फ़र्मवेयर संस्करण, आपका प्लेटफ़ॉर्म, और समस्या को दोहराने के चरणों की स्पष्ट व्याख्या शामिल है।
यदि आपके पास एक फ़ीचर अनुरोध है या किसी मौजूदा पर वोट करना चाहते हैं, तो कृपया Discussions का उपयोग करें और हमारे Discussion Guidelines का पालन करें।
PR खोलने से पहले, कृपया पुष्टि करें कि आपके परिवर्तन फ़र्मवेयर में शामिल होने चाहिए। कई विचारों को आसानी से बाहरी अनुप्रयोगों के रूप में लागू किया जा सकता है और Flipper Application Catalog में प्रकाशित किया जा सकता है। यदि आप अनिश्चित हैं, तो Discord Server या Issues पृष्ठ पर हमसे संपर्क करें, और हम आपके कोड के लिए सही जगह खोजने में आपकी मदद करेंगे।
साथ ही, कृपया हमारा Contribution Guide और हमारा Coding Style पढ़ें, और सुनिश्चित करें कि आपका कोड हमारे Project License के साथ संगत है।
अंत में, एक Pull Request खोलें और सुनिश्चित करें कि CI/CD स्थितियाँ सभी हरी हैं।
Flipper Zero Firmware C में लिखा गया है, जिसमें कुछ भाग C++ और armv7m असेंबली भाषाओं में लिखे गए हैं। आरामदायक प्रोग्रामिंग के लिए C का मध्यवर्ती स्तर का ज्ञान अनुशंसित है। Flipper अनुप्रयोगों के लिए C, C++, और armv7m असेंबली भाषाएँ समर्थित हैं।
समर्थित विकास प्लेटफ़ॉर्म:
समर्थित इन-सर्किट डिबगर (वैकल्पिक लेकिन अत्यधिक अनुशंसित):
Flipper बिल्ड सिस्टम अन्य सभी निर्भरताओं का ध्यान रखेगा।
सुनिश्चित करें कि आपके पास पर्याप्त स्थान है और सोर्स कोड क्लोन करें:
git clone --recursive https://github.com/flipperdevices/flipperzero-firmware.git
Flipper बिल्ड टूल का उपयोग करके फ़र्मवेयर बिल्ड करें:
./fbt
अपने इन-सर्किट डिबगर को अपने Flipper से कनेक्ट करें और Flipper बिल्ड टूल का उपयोग करके फ़र्मवेयर फ्लैश करें:
./fbt flash
सुनिश्चित करें कि आपका Flipper चालू है, और आपका फ़र्मवेयर कार्य कर रहा है। अपने Flipper को USB केबल से कनेक्ट करें और Flipper बिल्ड टूल का उपयोग करके फ़र्मवेयर फ्लैश करें:
./fbt flash_usb
applications - फ़र्मवेयर में उपयोग किए जाने वाले अनुप्रयोग और सेवाएँapplications_users - आपके अतिरिक्त अनुप्रयोगों और सेवाओं के लिए स्थानassets - अनुप्रयोगों और सेवाओं द्वारा उपयोग की जाने वाली संपत्तियाँdocumentation - दस्तावेज़ीकरण निर्माण प्रणाली कॉन्फ़िगरेशन और इनपुट फ़ाइलेंfuri - Furi Core: OS-स्तर के प्राइमिटिव और सहायक उपकरणlib - हमारी और तृतीय-पक्ष लाइब्रेरी, ड्राइवर, उपकरण आदि...site_scons - बिल्ड सिस्टम कॉन्फ़िगरेशन और मॉड्यूलscripts - अतिरिक्त स्क्रिप्ट और विभिन्न पायथन लाइब्रेरीtargets - फ़र्मवेयर टारगेट: प्लेटफ़ॉर्म-विशिष्ट कोडसाथ ही, अधिक जानकारी के लिए उन निर्देशिकाओं के अंदर ReadMe.md फ़ाइलें देखें।