diff --git a/Pipfile.lock b/Pipfile.lock index 72993c77..8e75b872 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "4dd6000990d845cefad0aaf4fe946ae4072a2e57e89e03de52cdb0f0ac134ffd" + "sha256": "02fd384ffc681606ffcb94bff0c461f62966d40d0a9adde100fbcbee664b7819" }, "pipfile-spec": 6, "requires": { @@ -34,11 +34,11 @@ }, "beautifulsoup4": { "hashes": [ - "sha256:7e05ad0b6c26108d9990e2235e8a9b4e2c03ead6f391ceb60347f8ebea6b80ba", - "sha256:c684ddec071aa120819889aa9e8940f85c3f3cdaa08e23b9fa26510387897bd5" + "sha256:288e3ca7d54b06f2ac191970bc275c1939cb46d450b255bf6718b04aa37ab4f7", + "sha256:d6f88de62e1d4e38ecb1077eb9724cd0eff29d2a08ca16a401e9b9e93f117cf9" ], - "markers": "python_full_version >= '3.6.0'", - "version": "==4.13.0b2" + "markers": "python_full_version >= '3.7.0'", + "version": "==4.15.0" }, "breathe": { "hashes": [ @@ -50,146 +50,110 @@ }, "certifi": { "hashes": [ - "sha256:3c52e209ba0a4ad7aebe60436a4ab349c39e1e602e8c134221e546902ad25897", - "sha256:69dea482ab64caa7b9f6aba1c6bf48bb6a5448d1c0f1b17ab42ad8c763a5344d" + "sha256:62f22742b58a1a33014a2b6b706588a8d7e2a88ae7bd1a6ebe8c992928483775", + "sha256:741e2c3b351ddf169a738da9f2c048608ff7f2c5cc02f1ebc6b118bb090d5d55" ], "markers": "python_version >= '3.7'", - "version": "==2026.5.20" + "version": "==2026.7.22" }, "charset-normalizer": { "hashes": [ - "sha256:007d05ec7321d12a40227aae9e2bc6dca73f3cb21058999a1df9e193555a9dcc", - "sha256:03853ed82eeebbce3c2abfdbc98c96dc205f32a79627688ac9a27370ea61a49c", - "sha256:07d9e39b01743c3717745f4c530a6349eadbfa043c7577eef86c502c15df2c67", - "sha256:08e721811161356f97b4059a9ba7bafb23ea5ee2255402c42881c214e173c6b4", - "sha256:0c96c3b819b5c3e9e165495db84d41914d6894d55181d2d108cc1a69bfc9cce0", - "sha256:0ea948db76d31190bf08bd371623927ee1339d5f2a0b4b1b4a4439a65298703c", - "sha256:0f7eb884681e3938906ed0434f20c63046eacd0111c4ba96f27b76084cd679f5", - "sha256:12a6fff75f6bc66711b73a2f0addfc4c8c15a20e805146a02d147a318962c444", - "sha256:12d8baf840cc7889b37c7c770f478adea7adce3dcb3944d02ec87508e2dcf153", - "sha256:14265bfe1f09498b9d8ec91e9ec9fa52775edf90fcbde092b25f4a33d444fea9", - "sha256:16d971e29578a5e97d7117866d15889a4a07befe0e87e703ed63cd90cb348c01", - "sha256:177a0ba5f0211d488e295aaf82707237e331c24788d8d76c96c5a41594723217", - "sha256:1a87ca9d5df6fe460483d9a5bbf2b18f620cbed41b432e2bddb686228282d10b", - "sha256:1c2a768fdd44ee4a9339a9b0b130049139b8ce3c01d2ce09f67f5a68048d477c", - "sha256:1c2aed2e5e41f24ea8ef1590b8e848a79b56f3a5564a65ceec43c9d692dc7d8a", - "sha256:1dc8b0ea451d6e69735094606991f32867807881400f808a106ee1d963c46a83", - "sha256:1efde3cae86c8c273f1eb3b287be7d8499420cf2fe7585c41d370d3e790054a5", - "sha256:202389074300232baeb53ae2569a60901f7efadd4245cf3a3bf0617d60b439d7", - "sha256:203104ed3e428044fd943bc4bf45fa73c0730391f9621e37fe39ecf477b128cb", - "sha256:2257141f39fe65a3fdf38aeccae4b953e5f3b3324f4ff0daf9f15b8518666a2c", - "sha256:298930cec56029e05497a76988377cbd7457ba864beeea92ad7e844fe74cd1f1", - "sha256:2cd4a60d0e2fb04537162c62bbbb4182f53541fe0ede35cdf270a1c1e723cc42", - "sha256:2d6eb928e13016cea4f1f21d1e10c1cebd5a421bc57ddf5b1142ae3f86824fab", - "sha256:2fe249cb4651fd12605b7288b24751d8bfd46d35f12a20b1ba33dea122e690df", - "sha256:30b8d1d8c52a48c2c5690e152c169b673487a2a58de1ec7393196753063fcd5e", - "sha256:320ade88cfb846b8cd6b4ddf5ee9e80ee0c1f52401f2456b84ae1ae6a1a5f207", - "sha256:3534e7dcbdcf757da6b85a0bbf5b6868786d5982dd959b065e65481644817a18", - "sha256:36836d6ff945a00b88ba1e4572d721e60b5b8c98c155d465f56ad19d68f23734", - "sha256:38c0109396c4cfc574d502df99742a45c72c08eff0a36158b6f04000043dbf38", - "sha256:3946fa46a0cf3e4c8cb1cc52f56bb536310d34f25f01ca9b6c16afa767dab110", - "sha256:3bec022aec2c514d9cf199522a802bd007cd588ab17ab2525f20f9c34d067c18", - "sha256:3c9a494bc5ec77d43cea229c4f6db1e4d8fe7e1bbffa8b6f0f0032430ff8ab44", - "sha256:3dce51d0f5e7951f8bb4900c257dad282f49190fdbebecd4ba99bcc41fef404d", - "sha256:3dedcc22d73ec993f42055eff4fcfed9318d1eeb9a6606c55892a26964964e48", - "sha256:4042d5c8f957e15221d423ba781e85d553722fc4113f523f2feb7b188cc34c5e", - "sha256:481551899c856c704d58119b5025793fa6730adda3571971af568f66d2424bb5", - "sha256:4dc1e73c36828f982bfe79fadf5919923f8a6f4df2860804db9a98c48824ce8d", - "sha256:4e5163c14bffd570ef2affbfdd77bba66383890797df43dc8b4cc7d6f500bf53", - "sha256:511ef87c8aec0783e08ac18565a16d435372bc1ac25a91e6ac7f5ef2b0bff790", - "sha256:532bc9bf33a68613fd7d65e4b1c71a6a38d7d42604ecf239c77392e9b4e8998c", - "sha256:54523e136b8948060c0fa0bc7b1b50c32c186f2fceee897a495406bb6e311d2b", - "sha256:5649fd1c7bade02f320a462fdefd0b4bd3ce036065836d4f42e0de958038e116", - "sha256:56be790f86bfb2c98fb742ce566dfb4816e5a83384616ab59c49e0604d49c51d", - "sha256:5b77459df20e08151cd6f8b9ef8ef1f961ef73d85c21a555c7eed5b79410ec10", - "sha256:5ed6ab538499c8644b8a3e18debabcd7ce684f3fa91cf867521a7a0279cab2d6", - "sha256:6178f72c5508bfc5fd446a5905e698c6212932f25bcdd4b47a757a50605a90e2", - "sha256:6370e8686f662e6a3941ee48ed4742317cafbe5707e36406e9df792cdb535776", - "sha256:64f02c6841d7d83f832cd97ccf8eb8a906d06eb95d5276069175c696b024b60a", - "sha256:65bcd23054beab4d166035cabbc868a09c1a49d1efe458fe8e4361215df40265", - "sha256:66671f93accb62ed07da56613636f3641f1a12c13046ce91ffc923721f23c008", - "sha256:6696b7688f54f5af4462118f0bfa7c1621eeb87154f77fa04b9295ce7a8f2943", - "sha256:6785f414ae0f3c733c437e0f3929197934f526d19dfaa75e18fdb4f94c6fb374", - "sha256:67f6279d125ca0046a7fd386d01b311c6363844deac3e5b069b514ba3e63c246", - "sha256:6c114670c45346afedc0d947faf3c7f701051d2518b943679c8ff88befe14f8e", - "sha256:6e0d51f618228538a3e8f46bd246f87a6cd030565e015803691603f55e12afb5", - "sha256:6ed74185b2db44f41ef35fd1617c5888e59792da9bbc9190d6c7300617182616", - "sha256:708838739abf24b2ceb208d0e22403dd018faeef86ddac04319a62ae884c4f15", - "sha256:715479b9a2802ecac752a3b0efa2b0b60285cf962ee38414211abdfccc233b41", - "sha256:733784b6d6def852c814bce5f318d25da2ee65dd4839a0718641c696e09a2960", - "sha256:750e02e074872a3fad7f233b47734166440af3cdea0add3e95163110816d6752", - "sha256:752a45dc4a6934060b3b0dab47e04edc3326575f82be64bc4fc293914566503e", - "sha256:7579e913a5339fb8fa133f6bbcfd8e6749696206cf05acdbdca71a1b436d8e72", - "sha256:7641bb8895e77f921102f72833904dcd9901df5d6d72a2ab8f31d04b7e51e4e7", - "sha256:7804338df6fcc08105c7745f1502ba68d900f45fd770d5bdd5288ddccb8a42d8", - "sha256:80d04837f55fc81da168b98de4f4b797ef007fc8a79ab71c6ec9bc4dd662b15b", - "sha256:813c0e0132266c08eb87469a642cb30aaff57c5f426255419572aaeceeaa7bf4", - "sha256:82b271f5137d07749f7bf32f70b17ab6eaabedd297e75dce75081a24f76eb545", - "sha256:84c018e49c3bf790f9c2771c45e9313a08c2c2a6342b162cd650258b57817706", - "sha256:8751d2787c9131302398b11e6c8068053dcb55d5a8964e114b6e196cf16cb366", - "sha256:8778f0c7a52e56f75d12dae53ae320fae900a8b9b4164b981b9c5ce059cd1fcb", - "sha256:87fad7d9ba98c86bcb41b2dc8dbb326619be2562af1f8ff50776a39e55721c5a", - "sha256:8d828b6667a32a728a1ad1d93957cdf37489c57b97ae6c4de2860fa749b8fc1e", - "sha256:8e385e4267ab76874ae30db04c627faaaf0b509e1ccc11a95b3fc3e83f855c00", - "sha256:92a0a01ead5e668468e952e4238cccd7c537364eb7d851ab144ab6627dbbe12f", - "sha256:94e1885b270625a9a828c9793b4d52a64445299baa1fea5a173bf1d3dd9a1a5a", - "sha256:a180c5e59792af262bf263b21a3c49353f25945d8d9f70628e73de370d55e1e1", - "sha256:a277ab8928b9f299723bc1a2dabb1265911b1a76341f90a510368ca44ad9ab66", - "sha256:a5fe03b42827c13cdccd08e6c0247b6a6d4b5e3cdc53fd1749f5896adcdc2356", - "sha256:a6c5863edfbe888d9eff9c8b8087354e27618d9da76425c119293f11712a6319", - "sha256:a89c23ef8d2c6b27fd200a42aa4ac72786e7c60d40efdc76e6011260b6e949c4", - "sha256:adb2597b428735679446b46c8badf467b4ca5f5056aae4d51a19f9570301b1ad", - "sha256:ae196f021b5e7c78e918242d217db021ed2a6ace2bc6ae94c0fc596221c7f58d", - "sha256:ae89db9e5f98a11a4bf50407d4363e7b09b31e55bc117b4f7d80aab97ba009e5", - "sha256:aed52fea0513bac0ccde438c188c8a471c4e0f457c2dd20cdbf6ea7a450046c7", - "sha256:aef65cd602a6d0e0ff6f9930fcb1c8fec60dd2cfcb6facaf4bdb0e5873042db0", - "sha256:af21eb4409a119e365397b2adbaca4c9ccab56543a65d5dbd9f920d6ac29f686", - "sha256:b14b2d9dac08e28bb8046a1a0434b1750eb221c8f5b87a68f4fa11a6f97b5e34", - "sha256:bb6d88045545b26da47aa879dd4a89a71d1dce0f0e549b1abcb31dfe4a8eac49", - "sha256:bb8cc7534f51d9a017b93e3e85b260924f909601c3df002bcdb58ddb4dc41a5c", - "sha256:bc17a677b21b3502a21f66a8cc64f5bfad4df8a0b8434d661666f8ce90ac3af1", - "sha256:bd6c2a1c7573c64738d716488d2cdd3c00e340e4835707d8fdb8dc1a66ef164e", - "sha256:bd9b23791fe793e4968dba0c447e12f78e425c59fc0e3b97f6450f4781f3ee60", - "sha256:c03a41a8784091e67a39648f70c5f97b5b6a37f216896d44d2cdcb82615339a0", - "sha256:c0f081d69a6e58272819b70288d3221a6ee64b98df852631c80f293514d3b274", - "sha256:c35abb8bfff0185efac5878da64c45dafd2b37fb0383add1be155a763c1f083d", - "sha256:c36c333c39be2dbca264d7803333c896ab8fa7d4d6f0ab7edb7dfd7aea6e98c0", - "sha256:c45e9440fb78f8ddabcf714b68f936737a121355bf59f3907f4e17721b9d1aae", - "sha256:c593052c465475e64bbfe5dbd81680f64a67fdc752c56d7a0ae205dc8aeefe0f", - "sha256:cdd68a1fb318e290a2077696b7eb7a21a49163c455979c639bf5a5dcdc46617d", - "sha256:ce3412fbe1e31eb81ea42f4169ed94861c56e643189e1e75f0041f3fe7020abe", - "sha256:cf1493cd8607bec4d8a7b9b004e699fcf8f9103a9284cc94962cb73d20f9d4a3", - "sha256:cf29836da5119f3c8a8a70667b0ef5fdca3bb12f80fd06487cfa575b3909b393", - "sha256:d4a48e5b3c2a489fae013b7589308a40146ee081f6f509e047e0e096084ceca1", - "sha256:d560742f3c0d62afaccf9f41fe485ed69bd7661a241f86a3ef0f0fb8b1a397af", - "sha256:d6038d37043bced98a66e68d3aa2b6a35505dc01328cd65217cefe82f25def44", - "sha256:d61f00a0869d77422d9b2aba989e2d24afa6ffd552af442e0e58de4f35ea6d00", - "sha256:d635aab80466bc95771bb78d5370e74d36d1fe31467b6b29b8b57b2a3cd7d22c", - "sha256:dca4bbc466a95ba9c0234ef56d7dd9509f63da22274589ebd4ed7f1f4d4c54e3", - "sha256:dd915403e231e6b1809fe9b6d9fc55cf8fb5e02765ac625d9cd623342a7905d7", - "sha256:e044c39e41b92c845bc815e5ae4230804e8e7bc29e399b0437d64222d92809dd", - "sha256:e060d01aec0a910bdccb8be71faf34e7799ce36950f8294c8bf612cba65a2c9e", - "sha256:e1421b502d83040e6d7fb2fb18dff63957f720da3d77b2fbd3187ceb63755d7b", - "sha256:e17b8d5d6a8c47c85e68ca8379def1303fd360c3e22093a807cd34a71cd082b8", - "sha256:e5f4d355f0a2b1a31bc3edec6795b46324349c9cb25eed068049e4f472fb4259", - "sha256:e712b419df8ba5e42b226c510472b37bd57b38e897d3eca5e8cfd410a29fa859", - "sha256:e74327fb75de8986940def6e8dee4f127cc9752bee7355bb323cc5b2659b6d46", - "sha256:e80c8378d8f3d83cd3164da1ad2df9e37a666cdde7b1cb2298ed0b558064be30", - "sha256:e8ac484bf18ce6975760921bb6148041faa8fef0547200386ea0b52b5d27bf7b", - "sha256:eca9705049ad3c7345d574e3510665cb2cf844c2f2dcfe675332677f081cbd46", - "sha256:ed065083d0898c9d5b4bbec7b026fd755ff7454e6e8b73a67f8c744b13986e24", - "sha256:edac0f1ab77644605be2cbba52e6b7f630731fc42b34cb0f634be1a6eface56a", - "sha256:effc3f449787117233702311a1b7d8f59cba9ced946ba727bdc329ec69028e24", - "sha256:f22dec1690b584cea26fade98b2435c132c1b5f68e39f5a0b7627cd7ae31f1dc", - "sha256:f495a1652cf3fbab2eb0639776dad966c2fb874d79d87ca07f9d5f059b8bd215", - "sha256:f496c9c3cc02230093d8330875c4c3cdfc3b73612a5fd921c65d39cbcef08063", - "sha256:f59099f9b66f0d7145115e6f80dd8b1d847176df89b234a5a6b3f00437aa0832", - "sha256:f59ad4c0e8f6bba240a9bb85504faa1ab438237199d4cce5f622761507b8f6a6", - "sha256:fbccdc05410c9ee21bbf16a35f4c1d16123dcdeb8a1d38f33654fa21d0234f79", - "sha256:fea24543955a6a729c45a73fe90e08c743f0b3334bbf3201e6c4bc1b0c7fa464" + "sha256:0327fcd59a935777d83410750c50600ee9571af2846f71ce40f25b13da1ef380", + "sha256:03d07803992c6c7bbc976327f34b18b6160327fc81cb82c9d504720ac0be3b62", + "sha256:04ce310cb89c15df659582aee80a0603788732a5e017d5bd5c81158106ce249c", + "sha256:0d861473f743244d349b50f850d10eb87aeb22bbdcc8e64f79273c94af5a8226", + "sha256:0e94703ec9684807f20cfb5eed95c70f67f2a8f21ad620146d7b5a13677b93e5", + "sha256:0fa1aec2d32bcc03c8fa0f6f1712caad1adc38509f31142112e5c9daf5b9c833", + "sha256:16b65ea0f2465b6fb52aa22de5eca612aa964ddfec00a912e26f4656cbef890b", + "sha256:16d10d789dd9bcca1173c95af82c58433122564b7bc39385124be735a35cbe99", + "sha256:19ac87f93086ce37b86e098888555c4b4bc48102279bae3350098c0ed664b501", + "sha256:1d22856ffbe153a602df38e4a5464f0b748a54002e0d69ac6d2ad0a197cc99ec", + "sha256:21e764fd1e70b6a3e205a0e46f3051701f98a8cb3fad66eeb80e48bb502f8698", + "sha256:231ddcbb35e2ff8973e1365db41fe0572662893b99a05deb183b68ad4c0c8bd4", + "sha256:253a4a220747e8b5faf57ec320c4f5efb0cef05f647420bf267143ec15dba10a", + "sha256:280081916dc341820640489a66e4696049401ef1cf6dd672f672e70ad915aca3", + "sha256:2a441ea71902098ffe78c5abe6c494f44160b4af614ed16c3d9a3b1d17fd8ee2", + "sha256:304b13570067b2547562e308af560b3963857b1fa90bd6afd978130130fe2d6a", + "sha256:32286a2c8d167e897177b673176c1e3e00d4057caf5d2b64eef9a3666b03018e", + "sha256:33bdcc2a32c0a0e861f60841a512c8acc658c87c2ac59d89e3a46dacf7d866e4", + "sha256:375b83ed0aecfce76c16d198fbc21f3b11b337d68662bea0a995046682a11419", + "sha256:3c09a49d6cde137258beb3d551994a2927fd35ad5cf96aed573f61bbd67c5f84", + "sha256:3d92613ec25e43b05f042302531ec0f00b8445190e43325880cbd6ab7c2581da", + "sha256:40a126142a56b2dfc0aacbad1de8310cbf60da7656db0e6b16eebd48e3e93519", + "sha256:416c229f77e5ea25b3dfd4b582f8d73d7e43c22320302b9ab128a2d3a0b38efe", + "sha256:432786d3561e69aeeae6c7e8648964ce0ad05736120135601f87ac26b9c83381", + "sha256:43b9e366a31fdd1c87d0eb08f579b4a82b723ea54338f040d6b4e518a026ea29", + "sha256:440eede837960000d74978f0eba527be106b5b9aee0daf779d395276ed0b0614", + "sha256:45b0cc4e3556cd875e09102988d1ab8356c998b596c9fced84547c8138b487a0", + "sha256:476743fe6dfe14a2da12e3ac79125dc84a3b2cf8094369a47a1529b0cd8549fe", + "sha256:4773092f8019072343a7447203308b176e10199920eb02d6195e81bbb3274c29", + "sha256:4b3dac63058cc36820b0dd072f89898604e2d39686fe05321729d00d8ac185a0", + "sha256:4d1c96a7a18b9690a4d46df09e3e3382406ae3213727cd1019ebade1c4a81917", + "sha256:51307f5c71007673a2bf8232ad973483d281e74cb99c8c5a990af1eefa6277d9", + "sha256:51447e9aa2684679af07ca5021c3db526e0284347ebf4ffcec1154c3350cfe32", + "sha256:58150c9f9b9a552505912d182ccdf26f6396fb6094816ceebcbb20eecabaed94", + "sha256:5b10cd92fc5c498b35a8635df6d5a100207f88b63a4dc1de7ef9a548e1e2cd63", + "sha256:5e226f6218febc71f6c1fc2fafb91c226f75bdc1d8fb12d66823716e891608fd", + "sha256:609b3ba8fcc0fb5ab7af00719d0fb6ad0cb518e48e7712d12fd68f1327951198", + "sha256:60f44ade2cf573dad7a277e6f8ca9a51a21dda572b13bd7d8539bb3cd5dbedde", + "sha256:611057cc5d5c0afc743ba8be6bd828c17e0aaa8643f9d0a9b9bb7dea80eb8012", + "sha256:6366a16e1a25018694d6a5d784d09b046edc9eac40ea2b54065c3052672516a1", + "sha256:65a7ff3f705e57d392f7261b6d0550fe137c3019477431f1c355e0db0a7d3e15", + "sha256:673611bbd43f0810bec0b0f028ddeaaa501190339cac411f347ac76917c3ae7b", + "sha256:67830fc78e67501f47bb950471b2dcb9b35b140084429318e862895a8e89c993", + "sha256:68ce9f4d6b26d5ccbf7fd4459bf75f74a0a146677ebba80597df60cbdb20e6f4", + "sha256:68e5f26a1ad57ded6d1cfb85331d1c1a195314756471d97758c48498bb4dcdf5", + "sha256:69b157c5d3292bcd443faca052f3096f637f1e074b98212a933c074ae23dc3b8", + "sha256:75286256590a6320cf106a0d28970d3560aad9ee09aa7b34fb40524792436d35", + "sha256:78841cccf1af7b40f6f716338d50c0902dbe88d9f800b3c973b7a9a0a693a642", + "sha256:78fa18e436a1a0e58dbd7e02fc4473f3f32cceb12df9dfca542d075961c307d2", + "sha256:79580094b00d1789d1f93ea55bc43cb2f611910c72235b7657f3482ddcc1b22d", + "sha256:7b86a2b16095d250c6f58b3d9b2eee6f4147754344f3dab0922f7c9bf7d226c9", + "sha256:83aed2c10721ddd90f68140685391b50811a880af20654c59af6b6c66c40513c", + "sha256:84fd18bcc17526fc2b3c1af7d2b9217d32c9c04448c16ec693b9b4f1985c3d33", + "sha256:871ff67ea1aad4dfd91736464934d56b32dac49f9fbe16cddba36198a7b3a0db", + "sha256:898f0e9068ca27d37f8e83a5b962821df851532e6c4a7d615c1c033f9da6eedf", + "sha256:8a79d9f4d8001473a30c163556b3c3bfebec837495a412dde78b51672f6134f9", + "sha256:8c041122946b7ba21bb32c45b1aa57b1be35527690aeb3c5c234521085632eee", + "sha256:90c44bc373b7687f6948b693cceaea1348ae0975d7474746559494468e3c1d84", + "sha256:9104ed0bd76a429d46f9ec0dbc9b08ad1d2dcdf2b00a5a0daa1c145329b35b44", + "sha256:920079c3f7456fa213e0829ed2073aaa727fd39d889ead5b4f35d0de5460d04f", + "sha256:93d59d504b230e83c7a843251681959a0b6a9cd76f6e146ce1b8a80eb8739af9", + "sha256:9b2aff1c7b3884512b9512c3eaadd9bab39fb45042ffaaa1dd08ff2b9f8109d9", + "sha256:9b8e0f3107e2200b76f6054de99016eac3ee6762713587b36baaa7e4bd2ae177", + "sha256:9bb41182d93ea91f60b4bc8fbf4c820c69ef8a12ab2d917f3f1834f1acad07e8", + "sha256:9cdef90ae47919cae358d8ab15797a800ed41da7aba5d72419fb510729e2ed4b", + "sha256:a1786910334ed46ab1dd73222f2cd1e05c2c3bb39f6dddb4f8b36fc382058a39", + "sha256:a4cfde78a9f2880208d16a93b795726a3017d5977e08d1e162a7a31322479c41", + "sha256:a4fbdde9dd4a9ce5fd52c2b3a347bb50cc89483ef783f1cb00d408c13f7a96c0", + "sha256:aa99adc8f081b475a12843953db36831eaf83ec33eb46a90629ca6a5de45a616", + "sha256:ac351b3b8014eead140e77e9717e2992c6bbe30b63bc3422422eb84865412e3d", + "sha256:ad41ba96094304aa090f5a30cb6e4fb3b3f1c264c523394b4c39bbacc4dc92ba", + "sha256:b5314963fce9b0b12743891de876e724997864ee22aa496f903f426c7e2fa5b2", + "sha256:bcf74c1df76758a395bf0af608c04c82257523f55c9868b334f06270d0f2112b", + "sha256:bd47ba7fc3ca94896759ea0109775132d3e7ab921fbf54038e1bab2e46c313c9", + "sha256:c0323c9daef75ef2e5083624b4585018a0c9d5e3b40f607eed81a311270b934b", + "sha256:c1225416b463483160e4af85d5fc3a9690ccb53fd4b1865a6437825f5ede3209", + "sha256:c1c948747b03be832dceed96ca815cef7360de9aa19d37c730f8e3f6101aca48", + "sha256:c25fe15c70c59eb7c5ce8c06a1f3fa1da0ecc5ea1e7a5922c40fd2fa9b0d5046", + "sha256:cc1b0fff8ead343dae06305f954eb8468ba0ec1a97881f42489d198e4ce3c632", + "sha256:cd6280cf040f233bd7d3407b743b4b4c74f70e8e1c4199cb112a62c941c0772a", + "sha256:cd6c3d4b783c556fa00bf540854e42f135e2f256abd29669fcd0da0f2dec79c2", + "sha256:d4d6fcde76f94f5cb9e43e9e9a61f16dacefd228cbbf6f1a09bd9b219a92f1a1", + "sha256:ddf4af30b417d9fe16481e9b81c27ab2a7cde1ff7ba3e85653b02db7d145dc7b", + "sha256:df115d4d83168fdf2cae48ef1ff6d1cb4c466364e30861b37121de0f3bf1b990", + "sha256:df7276909358e5635ae203673ab7e509ddd224225a8d6b0790bf13eb2bde1cc5", + "sha256:e4fd89cc178bced6ad29cb3e6dd4aa63fa5017c3524dbd0b25998fb64a87cc8b", + "sha256:e9701d0049d92c16703a42771b98d560b95248949f23f8cf7b4eddd201814fb9", + "sha256:ee2f2a527e3c1a6e6411eb4209642e138b544a2d72fe5d0d76daf77b24063534", + "sha256:f7fb7d750cfa0a070d2c24e831fd3481019a60dd317ea2b39acbcebc08b6ed81", + "sha256:f840ed6d8ecba8255df8c42b87fadeda98ddfc6eeec05e2dc66e26d46dd6f58a", + "sha256:f86c6358749bd4fda175388691e3ba8c46e24c5347d0afd20f9b7edfc9faf07d", + "sha256:fa36ec09ef71d158186bc79e359ff5fdd6e7996fe8ab638f00d6b93139ba4fcf", + "sha256:fe2c7201c642b7c308f1675355ad7ff7b66acfe3541625efe5a3ad38f29d6115" ], "markers": "python_version >= '3.7'", - "version": "==3.4.7" + "version": "==3.4.9" }, "docutils": { "hashes": [ @@ -201,11 +165,11 @@ }, "idna": { "hashes": [ - "sha256:048adeaf8c2d788c40fee287673ccaa74c24ffd8dcf09ffa555a2fbb59f10ac8", - "sha256:ca962446ea538f7092a95e057da437618e886f4d349216d2b1e294abfdb65fdc" + "sha256:7f952cbe720b688055e3f87de14f5c3e5fdaa8bc3928985c4077ca689de849a2", + "sha256:ffb385a7e039654cef1ab9ef32c6fafe283c0c0467bba1d9029738ce4a14a848" ], - "markers": "python_version >= '3.8'", - "version": "==3.15" + "markers": "python_version >= '3.9'", + "version": "==3.18" }, "imagesize": { "hashes": [ @@ -337,11 +301,11 @@ }, "mdit-py-plugins": { "hashes": [ - "sha256:0c673c3f889399a33b95e88d2f0d111b4447bdfea7f237dab2d488f459835636", - "sha256:5f2cd1fdb606ddf152d37ec30e46101a60512bc0e5fa1a7002c36647b09e26b5" + "sha256:214c82fb2ac524472ab6a5bcab1de80f73b50443e187f401bfd77efbc7c6481d", + "sha256:a2bca0f039f39dbd35fb74ae1b5f998608c437463371f0ff7f49a19a17a114d0" ], - "markers": "python_version >= '3.8'", - "version": "==0.4.2" + "markers": "python_version >= '3.10'", + "version": "==0.6.1" }, "mdurl": { "hashes": [ @@ -388,62 +352,82 @@ }, "pyyaml": { "hashes": [ - "sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff", - "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48", - "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086", - "sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e", - "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133", - "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5", - "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484", - "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee", - "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5", - "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68", - "sha256:24471b829b3bf607e04e88d79542a9d48bb037c2267d7927a874e6c205ca7e9a", - "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf", - "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99", - "sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8", - "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85", - "sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19", - "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc", - "sha256:43fa96a3ca0d6b1812e01ced1044a003533c47f6ee8aca31724f78e93ccc089a", - "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1", - "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317", - "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c", - "sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631", - "sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d", - "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652", - "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5", - "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e", - "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b", - "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8", - "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476", - "sha256:82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706", - "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563", - "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237", - "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b", - "sha256:9056c1ecd25795207ad294bcf39f2db3d845767be0ea6e6a34d856f006006083", - "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180", - "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425", - "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e", - "sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f", - "sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725", - "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183", - "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab", - "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774", - "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725", - "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e", - "sha256:d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5", - "sha256:d84a1718ee396f54f3a086ea0a66d8e552b2ab2017ef8b420e92edbc841c352d", - "sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290", - "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44", - "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed", - "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4", - "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba", - "sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12", - "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4" + "sha256:00c4bdeba853cc34e7dd471f16b4114f4162dc03e6b7afcc2128711f0eca823c", + "sha256:0150219816b6a1fa26fb4699fb7daa9caf09eb1999f3b70fb6e786805e80375a", + "sha256:02893d100e99e03eda1c8fd5c441d8c60103fd175728e23e431db1b589cf5ab3", + "sha256:02ea2dfa234451bbb8772601d7b8e426c2bfa197136796224e50e35a78777956", + "sha256:0f29edc409a6392443abf94b9cf89ce99889a1dd5376d94316ae5145dfedd5d6", + "sha256:10892704fc220243f5305762e276552a0395f7beb4dbf9b14ec8fd43b57f126c", + "sha256:16249ee61e95f858e83976573de0f5b2893b3677ba71c9dd36b9cf8be9ac6d65", + "sha256:1d37d57ad971609cf3c53ba6a7e365e40660e3be0e5175fa9f2365a379d6095a", + "sha256:1ebe39cb5fc479422b83de611d14e2c0d3bb2a18bbcb01f229ab3cfbd8fee7a0", + "sha256:214ed4befebe12df36bcc8bc2b64b396ca31be9304b8f59e25c11cf94a4c033b", + "sha256:2283a07e2c21a2aa78d9c4442724ec1eb15f5e42a723b99cb3d822d48f5f7ad1", + "sha256:22ba7cfcad58ef3ecddc7ed1db3409af68d023b7f940da23c6c2a1890976eda6", + "sha256:27c0abcb4a5dac13684a37f76e701e054692a9b2d3064b70f5e4eb54810553d7", + "sha256:28c8d926f98f432f88adc23edf2e6d4921ac26fb084b028c733d01868d19007e", + "sha256:2e71d11abed7344e42a8849600193d15b6def118602c4c176f748e4583246007", + "sha256:34d5fcd24b8445fadc33f9cf348c1047101756fd760b4dacb5c3e99755703310", + "sha256:37503bfbfc9d2c40b344d06b2199cf0e96e97957ab1c1b546fd4f87e53e5d3e4", + "sha256:3c5677e12444c15717b902a5798264fa7909e41153cdf9ef7ad571b704a63dd9", + "sha256:3ff07ec89bae51176c0549bc4c63aa6202991da2d9a6129d7aef7f1407d3f295", + "sha256:41715c910c881bc081f1e8872880d3c650acf13dfa8214bad49ed4cede7c34ea", + "sha256:418cf3f2111bc80e0933b2cd8cd04f286338bb88bdc7bc8e6dd775ebde60b5e0", + "sha256:44edc647873928551a01e7a563d7452ccdebee747728c1080d881d68af7b997e", + "sha256:4a2e8cebe2ff6ab7d1050ecd59c25d4c8bd7e6f400f5f82b96557ac0abafd0ac", + "sha256:4ad1906908f2f5ae4e5a8ddfce73c320c2a1429ec52eafd27138b7f1cbe341c9", + "sha256:501a031947e3a9025ed4405a168e6ef5ae3126c59f90ce0cd6f2bfc477be31b7", + "sha256:5190d403f121660ce8d1d2c1bb2ef1bd05b5f68533fc5c2ea899bd15f4399b35", + "sha256:5498cd1645aa724a7c71c8f378eb29ebe23da2fc0d7a08071d89469bf1d2defb", + "sha256:5cf4e27da7e3fbed4d6c3d8e797387aaad68102272f8f9752883bc32d61cb87b", + "sha256:5e0b74767e5f8c593e8c9b5912019159ed0533c70051e9cce3e8b6aa699fcd69", + "sha256:5ed875a24292240029e4483f9d4a4b8a1ae08843b9c54f43fcc11e404532a8a5", + "sha256:5fcd34e47f6e0b794d17de1b4ff496c00986e1c83f7ab2fb8fcfe9616ff7477b", + "sha256:5fdec68f91a0c6739b380c83b951e2c72ac0197ace422360e6d5a959d8d97b2c", + "sha256:6344df0d5755a2c9a276d4473ae6b90647e216ab4757f8426893b5dd2ac3f369", + "sha256:64386e5e707d03a7e172c0701abfb7e10f0fb753ee1d773128192742712a98fd", + "sha256:652cb6edd41e718550aad172851962662ff2681490a8a711af6a4d288dd96824", + "sha256:66291b10affd76d76f54fad28e22e51719ef9ba22b29e1d7d03d6777a9174198", + "sha256:66e1674c3ef6f541c35191caae2d429b967b99e02040f5ba928632d9a7f0f065", + "sha256:6adc77889b628398debc7b65c073bcb99c4a0237b248cacaf3fe8a557563ef6c", + "sha256:79005a0d97d5ddabfeeea4cf676af11e647e41d81c9a7722a193022accdb6b7c", + "sha256:7c6610def4f163542a622a73fb39f534f8c101d690126992300bf3207eab9764", + "sha256:7f047e29dcae44602496db43be01ad42fc6f1cc0d8cd6c83d342306c32270196", + "sha256:8098f252adfa6c80ab48096053f512f2321f0b998f98150cea9bd23d83e1467b", + "sha256:850774a7879607d3a6f50d36d04f00ee69e7fc816450e5f7e58d7f17f1ae5c00", + "sha256:8d1fab6bb153a416f9aeb4b8763bc0f22a5586065f86f7664fc23339fc1c1fac", + "sha256:8da9669d359f02c0b91ccc01cac4a67f16afec0dac22c2ad09f46bee0697eba8", + "sha256:8dc52c23056b9ddd46818a57b78404882310fb473d63f17b07d5c40421e47f8e", + "sha256:9149cad251584d5fb4981be1ecde53a1ca46c891a79788c0df828d2f166bda28", + "sha256:93dda82c9c22deb0a405ea4dc5f2d0cda384168e466364dec6255b293923b2f3", + "sha256:96b533f0e99f6579b3d4d4995707cf36df9100d67e0c8303a0c55b27b5f99bc5", + "sha256:9c57bb8c96f6d1808c030b1687b9b5fb476abaa47f0db9c0101f5e9f394e97f4", + "sha256:9c7708761fccb9397fe64bbc0395abcae8c4bf7b0eac081e12b809bf47700d0b", + "sha256:9f3bfb4965eb874431221a3ff3fdcddc7e74e3b07799e0e84ca4a0f867d449bf", + "sha256:a33284e20b78bd4a18c8c2282d549d10bc8408a2a7ff57653c0cf0b9be0afce5", + "sha256:a80cb027f6b349846a3bf6d73b5e95e782175e52f22108cfa17876aaeff93702", + "sha256:b30236e45cf30d2b8e7b3e85881719e98507abed1011bf463a8fa23e9c3e98a8", + "sha256:b3bc83488de33889877a0f2543ade9f70c67d66d9ebb4ac959502e12de895788", + "sha256:b865addae83924361678b652338317d1bd7e79b1f4596f96b96c77a5a34b34da", + "sha256:b8bb0864c5a28024fac8a632c443c87c5aa6f215c0b126c449ae1a150412f31d", + "sha256:ba1cc08a7ccde2d2ec775841541641e4548226580ab850948cbfda66a1befcdc", + "sha256:bdb2c67c6c1390b63c6ff89f210c8fd09d9a1217a465701eac7316313c915e4c", + "sha256:c1ff362665ae507275af2853520967820d9124984e0f7466736aea23d8611fba", + "sha256:c2514fceb77bc5e7a2f7adfaa1feb2fb311607c9cb518dbc378688ec73d8292f", + "sha256:c3355370a2c156cffb25e876646f149d5d68f5e0a3ce86a5084dd0b64a994917", + "sha256:c458b6d084f9b935061bc36216e8a69a7e293a2f1e68bf956dcd9e6cbcd143f5", + "sha256:d0eae10f8159e8fdad514efdc92d74fd8d682c933a6dd088030f3834bc8e6b26", + "sha256:d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f", + "sha256:ebc55a14a21cb14062aa4162f906cd962b28e2e9ea38f9b4391244cd8de4ae0b", + "sha256:eda16858a3cab07b80edaf74336ece1f986ba330fdb8ee0d6c0d68fe82bc96be", + "sha256:ee2922902c45ae8ccada2c5b501ab86c36525b883eff4255313a253a3160861c", + "sha256:efd7b85f94a6f21e4932043973a7ba2613b059c4a000551892ac9f1d11f5baf3", + "sha256:f7057c9a337546edc7973c0d3ba84ddcdf0daa14533c2065749c9075001090e6", + "sha256:fa160448684b4e94d80416c0fa4aac48967a969efe22931448d853ada8baf926", + "sha256:fc09d0aa354569bc501d4e787133afc08552722d3ab34836a80547331bb5d4a0" ], "markers": "python_version >= '3.8'", - "version": "==6.0.2" + "version": "==6.0.3" }, "requests": { "hashes": [ @@ -455,27 +439,27 @@ }, "setuptools": { "hashes": [ - "sha256:7d872682c5d01cfde07da7bccc7b65469d3dca203318515ada1de5eda35efbf9", - "sha256:a59e362652f08dcd477c78bb6e7bd9d80a7995bc73ce773050228a348ce2e5bb" + "sha256:025bccbbf0fa05b6192bc64ae1e7b16e001fd6d6d4d5de03c97b1c1ade523bef", + "sha256:29b23c360f22f414dc7336bb39178cc7bcbf6021ed2733cde173f09dba19abb3" ], - "markers": "python_version >= '3.9'", - "version": "==82.0.1" + "markers": "python_version >= '3.10'", + "version": "==83.0.0" }, "snowballstemmer": { "hashes": [ - "sha256:6cd7b3897da8d6c9ffb968a6781fa6532dce9c3618a4b127d920dab764a19064", - "sha256:6d5eeeec8e9f84d4d56b847692bacf79bc2c8e90c7f80ca4444ff8b6f2e52895" + "sha256:7e207fa178741da09cdee59d3ecec3827ad5f92b1fc5c9ff3755b639f71f5752", + "sha256:e07bbc54a0d798fe6010a12398422e62a8bfbba95c394fd0956ef58cb4d3e260" ], - "markers": "python_version not in '3.0, 3.1, 3.2'", - "version": "==3.0.1" + "markers": "python_version >= '3.3'", + "version": "==3.1.1" }, "soupsieve": { "hashes": [ - "sha256:e2e68417777af359ec65daac1057404a3c8a5455bb8abc36f1a9866ab1a51abb", - "sha256:e72c4ff06e4fb6e4b5a9f0f55fe6e81514581fca1515028625d0f299c602ccc9" + "sha256:4f4477399246b7a0c720a88ca2454b11cd6bb9ae4c9d170140786e916776c14c", + "sha256:c33e6605bbc71dd628b00c632d58ae607c22bade247e52553928f83bbb75b4ba" ], - "markers": "python_version >= '3.8'", - "version": "==2.6" + "markers": "python_version >= '3.10'", + "version": "==2.9.1" }, "sphinx": { "hashes": [ @@ -580,20 +564,20 @@ }, "sphinxcontrib-spelling": { "hashes": [ - "sha256:afbc7b8e93721ab88f12bdd39d848b92017b3763b9ed6226b4b0e54b06664fea", - "sha256:db8b3b2945683d49e87a8a5133d2b8ed4206cb593038b986ca8686a485f9980d" + "sha256:21704857c1b5e26e06bb07d15927df41c9d7ecfc1843169ecd22cb59f24069ac", + "sha256:f0447b6413c78b613b916c7891e36be85a105d1919c99784c53dfea2d8f8040f" ], "index": "pypi", "markers": "python_version >= '3.10'", - "version": "==8.0.2" + "version": "==8.0.1" }, "typing-extensions": { "hashes": [ - "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d", - "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8" + "sha256:481caa481374e813c1b176ada14e97f1f67a4539ce9cfeb3f350d78d6370c2e8", + "sha256:dc983d19a509c94dba722ee6abd33940f7c05a89e243c47e907eb4db6f1a43e5" ], - "markers": "python_version >= '3.8'", - "version": "==4.12.2" + "markers": "python_version >= '3.9'", + "version": "==4.16.0" }, "uc-micro-py": { "hashes": [ diff --git a/source/_static/files/axon_lite_V0.2_Pinout.pdf b/source/_static/files/axon_lite_V0.2_Pinout.pdf new file mode 100644 index 00000000..c8fedb36 Binary files /dev/null and b/source/_static/files/axon_lite_V0.2_Pinout.pdf differ diff --git a/source/_static/images/qcs6490-axon-mini/axon-mini-back.webp b/source/_static/images/qcs6490-axon-mini/axon-mini-back.webp new file mode 100644 index 00000000..e08005fb Binary files /dev/null and b/source/_static/images/qcs6490-axon-mini/axon-mini-back.webp differ diff --git a/source/_static/images/qcs6490-axon-mini/axon-mini-displayPipelines.webp b/source/_static/images/qcs6490-axon-mini/axon-mini-displayPipelines.webp new file mode 100644 index 00000000..45d8ad8f Binary files /dev/null and b/source/_static/images/qcs6490-axon-mini/axon-mini-displayPipelines.webp differ diff --git a/source/_static/images/qcs6490-axon-mini/axon-mini-qcs6490-decoder.webp b/source/_static/images/qcs6490-axon-mini/axon-mini-qcs6490-decoder.webp new file mode 100644 index 00000000..f29d5553 Binary files /dev/null and b/source/_static/images/qcs6490-axon-mini/axon-mini-qcs6490-decoder.webp differ diff --git a/source/_static/images/qcs6490-axon-mini/axon-mini-qcs6490-encoder.webp b/source/_static/images/qcs6490-axon-mini/axon-mini-qcs6490-encoder.webp new file mode 100644 index 00000000..e1350b2d Binary files /dev/null and b/source/_static/images/qcs6490-axon-mini/axon-mini-qcs6490-encoder.webp differ diff --git a/source/_static/images/qcs6490-axon-mini/axon-mini-top.webp b/source/_static/images/qcs6490-axon-mini/axon-mini-top.webp new file mode 100644 index 00000000..5a76eb02 Binary files /dev/null and b/source/_static/images/qcs6490-axon-mini/axon-mini-top.webp differ diff --git a/source/_static/images/rk3576-axon-lite/Axon-lite_Block_diagram.webp b/source/_static/images/rk3576-axon-lite/Axon-lite_Block_diagram.webp new file mode 100644 index 00000000..61623003 Binary files /dev/null and b/source/_static/images/rk3576-axon-lite/Axon-lite_Block_diagram.webp differ diff --git a/source/_static/images/rk3576-axon-lite/accessory-wifi-antenna.webp b/source/_static/images/rk3576-axon-lite/accessory-wifi-antenna.webp new file mode 100644 index 00000000..dcd1860d Binary files /dev/null and b/source/_static/images/rk3576-axon-lite/accessory-wifi-antenna.webp differ diff --git a/source/_static/images/rk3576-axon-lite/axon-lite-5v-power.webp b/source/_static/images/rk3576-axon-lite/axon-lite-5v-power.webp new file mode 100644 index 00000000..c6c0b11f Binary files /dev/null and b/source/_static/images/rk3576-axon-lite/axon-lite-5v-power.webp differ diff --git a/source/_static/images/rk3576-axon-lite/axon-lite-SDCard.webp b/source/_static/images/rk3576-axon-lite/axon-lite-SDCard.webp new file mode 100644 index 00000000..0ddf88d2 Binary files /dev/null and b/source/_static/images/rk3576-axon-lite/axon-lite-SDCard.webp differ diff --git a/source/_static/images/rk3576-axon-lite/axon-lite-audio-connectors.webp b/source/_static/images/rk3576-axon-lite/axon-lite-audio-connectors.webp new file mode 100644 index 00000000..f152ceb9 Binary files /dev/null and b/source/_static/images/rk3576-axon-lite/axon-lite-audio-connectors.webp differ diff --git a/source/_static/images/rk3576-axon-lite/axon-lite-audio-jack.webp b/source/_static/images/rk3576-axon-lite/axon-lite-audio-jack.webp new file mode 100644 index 00000000..98e9e467 Binary files /dev/null and b/source/_static/images/rk3576-axon-lite/axon-lite-audio-jack.webp differ diff --git a/source/_static/images/rk3576-axon-lite/axon-lite-back.webp b/source/_static/images/rk3576-axon-lite/axon-lite-back.webp new file mode 100644 index 00000000..b8a4595c Binary files /dev/null and b/source/_static/images/rk3576-axon-lite/axon-lite-back.webp differ diff --git a/source/_static/images/rk3576-axon-lite/axon-lite-battery-power.webp b/source/_static/images/rk3576-axon-lite/axon-lite-battery-power.webp new file mode 100644 index 00000000..6266c72c Binary files /dev/null and b/source/_static/images/rk3576-axon-lite/axon-lite-battery-power.webp differ diff --git a/source/_static/images/rk3576-axon-lite/axon-lite-dimension.webp b/source/_static/images/rk3576-axon-lite/axon-lite-dimension.webp new file mode 100644 index 00000000..11799db1 Binary files /dev/null and b/source/_static/images/rk3576-axon-lite/axon-lite-dimension.webp differ diff --git a/source/_static/images/rk3576-axon-lite/axon-lite-dp.webp b/source/_static/images/rk3576-axon-lite/axon-lite-dp.webp new file mode 100644 index 00000000..e64d1edf Binary files /dev/null and b/source/_static/images/rk3576-axon-lite/axon-lite-dp.webp differ diff --git a/source/_static/images/rk3576-axon-lite/axon-lite-dual-ethernet.webp b/source/_static/images/rk3576-axon-lite/axon-lite-dual-ethernet.webp new file mode 100644 index 00000000..24fa147b Binary files /dev/null and b/source/_static/images/rk3576-axon-lite/axon-lite-dual-ethernet.webp differ diff --git a/source/_static/images/rk3576-axon-lite/axon-lite-emmc.webp b/source/_static/images/rk3576-axon-lite/axon-lite-emmc.webp new file mode 100644 index 00000000..b13fa56d Binary files /dev/null and b/source/_static/images/rk3576-axon-lite/axon-lite-emmc.webp differ diff --git a/source/_static/images/rk3576-axon-lite/axon-lite-ethernet-usb3.webp b/source/_static/images/rk3576-axon-lite/axon-lite-ethernet-usb3.webp new file mode 100644 index 00000000..943cd84d Binary files /dev/null and b/source/_static/images/rk3576-axon-lite/axon-lite-ethernet-usb3.webp differ diff --git a/source/_static/images/rk3576-axon-lite/axon-lite-ethernet.webp b/source/_static/images/rk3576-axon-lite/axon-lite-ethernet.webp new file mode 100644 index 00000000..bed8789c Binary files /dev/null and b/source/_static/images/rk3576-axon-lite/axon-lite-ethernet.webp differ diff --git a/source/_static/images/rk3576-axon-lite/axon-lite-hdmi.webp b/source/_static/images/rk3576-axon-lite/axon-lite-hdmi.webp new file mode 100644 index 00000000..558fe8ff Binary files /dev/null and b/source/_static/images/rk3576-axon-lite/axon-lite-hdmi.webp differ diff --git a/source/_static/images/rk3576-axon-lite/axon-lite-keys-guide.webp b/source/_static/images/rk3576-axon-lite/axon-lite-keys-guide.webp new file mode 100644 index 00000000..cc766e80 Binary files /dev/null and b/source/_static/images/rk3576-axon-lite/axon-lite-keys-guide.webp differ diff --git a/source/_static/images/rk3576-axon-lite/axon-lite-leds.webp b/source/_static/images/rk3576-axon-lite/axon-lite-leds.webp new file mode 100644 index 00000000..13771b9c Binary files /dev/null and b/source/_static/images/rk3576-axon-lite/axon-lite-leds.webp differ diff --git a/source/_static/images/rk3576-axon-lite/axon-lite-pcie-hat.webp b/source/_static/images/rk3576-axon-lite/axon-lite-pcie-hat.webp new file mode 100644 index 00000000..7baa9cff Binary files /dev/null and b/source/_static/images/rk3576-axon-lite/axon-lite-pcie-hat.webp differ diff --git a/source/_static/images/rk3576-axon-lite/axon-lite-pcie-nvme.webp b/source/_static/images/rk3576-axon-lite/axon-lite-pcie-nvme.webp new file mode 100644 index 00000000..c622ddf9 Binary files /dev/null and b/source/_static/images/rk3576-axon-lite/axon-lite-pcie-nvme.webp differ diff --git a/source/_static/images/rk3576-axon-lite/axon-lite-power-details.webp b/source/_static/images/rk3576-axon-lite/axon-lite-power-details.webp new file mode 100644 index 00000000..4342704c Binary files /dev/null and b/source/_static/images/rk3576-axon-lite/axon-lite-power-details.webp differ diff --git a/source/_static/images/rk3576-axon-lite/axon-lite-power-led.webp b/source/_static/images/rk3576-axon-lite/axon-lite-power-led.webp new file mode 100644 index 00000000..53f10708 Binary files /dev/null and b/source/_static/images/rk3576-axon-lite/axon-lite-power-led.webp differ diff --git a/source/_static/images/rk3576-axon-lite/axon-lite-power-over-ethernet.webp b/source/_static/images/rk3576-axon-lite/axon-lite-power-over-ethernet.webp new file mode 100644 index 00000000..e8e47f75 Binary files /dev/null and b/source/_static/images/rk3576-axon-lite/axon-lite-power-over-ethernet.webp differ diff --git a/source/_static/images/rk3576-axon-lite/axon-lite-quad-usb.webp b/source/_static/images/rk3576-axon-lite/axon-lite-quad-usb.webp new file mode 100644 index 00000000..0f70307f Binary files /dev/null and b/source/_static/images/rk3576-axon-lite/axon-lite-quad-usb.webp differ diff --git a/source/_static/images/rk3576-axon-lite/axon-lite-rtc.webp b/source/_static/images/rk3576-axon-lite/axon-lite-rtc.webp new file mode 100644 index 00000000..047196d6 Binary files /dev/null and b/source/_static/images/rk3576-axon-lite/axon-lite-rtc.webp differ diff --git a/source/_static/images/rk3576-axon-lite/axon-lite-serial-uart-pins.webp b/source/_static/images/rk3576-axon-lite/axon-lite-serial-uart-pins.webp new file mode 100644 index 00000000..d79adcdb Binary files /dev/null and b/source/_static/images/rk3576-axon-lite/axon-lite-serial-uart-pins.webp differ diff --git a/source/_static/images/rk3576-axon-lite/axon-lite-top.webp b/source/_static/images/rk3576-axon-lite/axon-lite-top.webp new file mode 100644 index 00000000..d35fe3aa Binary files /dev/null and b/source/_static/images/rk3576-axon-lite/axon-lite-top.webp differ diff --git a/source/_static/images/rk3576-axon-lite/axon-lite-typeC-power.webp b/source/_static/images/rk3576-axon-lite/axon-lite-typeC-power.webp new file mode 100644 index 00000000..4ff54065 Binary files /dev/null and b/source/_static/images/rk3576-axon-lite/axon-lite-typeC-power.webp differ diff --git a/source/_static/images/rk3576-axon-lite/axon-lite-ufs.webp b/source/_static/images/rk3576-axon-lite/axon-lite-ufs.webp new file mode 100644 index 00000000..748cc416 Binary files /dev/null and b/source/_static/images/rk3576-axon-lite/axon-lite-ufs.webp differ diff --git a/source/_static/images/rk3576-axon-lite/axon-lite-usb2.webp b/source/_static/images/rk3576-axon-lite/axon-lite-usb2.webp new file mode 100644 index 00000000..a110cfc7 Binary files /dev/null and b/source/_static/images/rk3576-axon-lite/axon-lite-usb2.webp differ diff --git a/source/_static/images/rk3576-axon-lite/axon-lite-usb3.webp b/source/_static/images/rk3576-axon-lite/axon-lite-usb3.webp new file mode 100644 index 00000000..e64d1edf Binary files /dev/null and b/source/_static/images/rk3576-axon-lite/axon-lite-usb3.webp differ diff --git a/source/_static/images/rk3576-axon-lite/axon-lite-videoPorts.webp b/source/_static/images/rk3576-axon-lite/axon-lite-videoPorts.webp new file mode 100644 index 00000000..cfe46667 Binary files /dev/null and b/source/_static/images/rk3576-axon-lite/axon-lite-videoPorts.webp differ diff --git a/source/_static/images/rk3576-axon-lite/axon-lite-wifi-bt.webp b/source/_static/images/rk3576-axon-lite/axon-lite-wifi-bt.webp new file mode 100644 index 00000000..215e57ee Binary files /dev/null and b/source/_static/images/rk3576-axon-lite/axon-lite-wifi-bt.webp differ diff --git a/source/_static/images/rk3576-axon-lite/balena.png b/source/_static/images/rk3576-axon-lite/balena.png new file mode 100644 index 00000000..e517e2fd Binary files /dev/null and b/source/_static/images/rk3576-axon-lite/balena.png differ diff --git a/source/_static/js/clarity.js b/source/_static/js/clarity.js new file mode 100644 index 00000000..04c83c49 --- /dev/null +++ b/source/_static/js/clarity.js @@ -0,0 +1,5 @@ +(function(c,l,a,r,i,t,y){ + c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)}; + t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i; + y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y); +})(window, document, "clarity", "script", "xtw38brdfp"); \ No newline at end of file diff --git a/source/conf.py b/source/conf.py index a6ea24bc..4061525d 100644 --- a/source/conf.py +++ b/source/conf.py @@ -98,7 +98,7 @@ def bgcolor_role(name, rawtext, text, lineno, inliner, options={}, content=[]): # Set templates and exclude patterns templates_path = ["_templates"] -exclude_patterns = ["_build"] +exclude_patterns = ["_build", "vicharak_sbcs/axon-lite/axon-lite-linux/linux-development-guide", "vicharak_sbcs/axon-lite/axon-lite-linux/linux-configuration-guide", "vicharak_sbcs/axon-lite/axon-lite-accessories/fan.rst"] # HTML settings html_theme = "sphinxawesome_theme" @@ -109,6 +109,10 @@ def bgcolor_role(name, rawtext, text, lineno, inliner, options={}, content=[]): "css/fonts.css", "css/custom.css", ] +# JS files to include +html_js_files = [ + "js/clarity.js", +] # Theme options html_theme_options = { # sphinxawesome_theme options @@ -136,4 +140,4 @@ def bgcolor_role(name, rawtext, text, lineno, inliner, options={}, content=[]): # "images/favicon.ico", # "images/mstile-150x150.png", # "images/safari-pinned-tab.svg", -#] +#] \ No newline at end of file diff --git a/source/index.rst b/source/index.rst index 9faf5db5..db7eebac 100644 --- a/source/index.rst +++ b/source/index.rst @@ -12,18 +12,24 @@ Welcome to Vicharak's documentation! #################################### -Vicharak brings to you the powerful rk3399 based Vaaman and the highly advanced rk3588 based Axon single-board computers (SBCs). -Designed for both hobbyists and professionals, these SBCs offer unparalleled performance and versatility for a wide range of -applications including IoT, AI and multimedia processing. +Vicharak offers a comprehensive range of single-board computers (SBCs) across the Vaaman and Axon families, powered by leading processors including the RK3399, RK3588, RK3576, and QCS6490. Designed for both hobbyists and professionals, our SBCs deliver exceptional performance and versatility for applications spanning IoT, AI/ML, embedded systems, and multimedia processing. .. |vaaman_top| image:: _static/images/rk3399-vaaman/Vaaman-top.webp - :width: 100% + :width: 80% :alt: vaaman top .. |axon_top| image:: _static/images/rk3588-axon/axon-top.webp - :width: 100% + :width: 80% :alt: axon top +.. |axon_lite_top| image:: _static/images/rk3576-axon-lite/axon-lite-top.webp + :width: 80% + :alt: axon lite top + +.. |axon_mini_top| image:: _static/images/qcs6490-axon-mini/axon-mini-back.webp + :width: 80% + :alt: axon mini top + .. grid:: 1 1 2 2 .. grid-item-card:: Vaaman SBC @@ -40,6 +46,20 @@ applications including IoT, AI and multimedia processing. |axon_top| + .. grid-item-card:: Axon Lite SBC + :link: vicharak_sbcs/axon-lite/axon-lite-home + :link-type: doc + :shadow: md + + |axon_lite_top| + + .. grid-item-card:: Axon Mini SBC + :link: vicharak_sbcs/axon-mini/axon-mini-home + :link-type: doc + :shadow: md + + |axon_mini_top| + .. toctree:: :glob: :caption: Contents @@ -48,6 +68,8 @@ applications including IoT, AI and multimedia processing. Vaaman SBC Axon SBC + Axon Lite SBC + Axon Mini SBC .. toctree:: :glob: @@ -56,6 +78,8 @@ applications including IoT, AI and multimedia processing. Vaaman Downloads Axon Downloads + Axon Lite Downloads + Axon Mini Downloads .. toctree:: :glob: @@ -64,6 +88,8 @@ applications including IoT, AI and multimedia processing. Vaaman Accessories Axon Accessories + Axon Lite Accessories + Axon Mini Accessories .. toctree:: :glob: diff --git a/source/vicharak_sbcs/axon-lite/audio/analog.rst b/source/vicharak_sbcs/axon-lite/audio/analog.rst new file mode 100644 index 00000000..1f27ae75 --- /dev/null +++ b/source/vicharak_sbcs/axon-lite/audio/analog.rst @@ -0,0 +1,276 @@ +################# +Analog MIC +################# + +.. image:: /_static/images/rk3576-axon-lite/axon-lite-audio-connectors.webp + :width: 70% + +The Analog MIC input on the Axon Lite board provides a flexible interface for acoustic sensing using a broad class of analog microphone technologies. Axon Lite provides support for mics of different types and companies, preserving dynamic range while minimizing noise. + +Wiring and connectors +---------------------- + +- Connector Type : (Wire To board) JST +- MPN : WAFER-125L-2A +- Pin : 2 Pin +- Pitch : 1.25mm +- Current rating (max): 1A each pin + +Axon Lite supports an **Analog differential mic**. + +.. note:: + If you want to use an analog single-ended microphone, connect the positive point to the positive pin of the mic connector and the negative point to ground. + +For Single ended mic: `Reference Mic To Buy `_ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +* Mic output → ANALOG_MIC pin (+) +* Mic ground → GND (GPIO GND) on `Axon Lite Header `_ + +For Differential mic: +^^^^^^^^^^^^^^^^^^^^^^ +* Mic output → ANALOG_MIC pin (+) +* Mic ground → ANALOG_MIC pin (-) + +How to Setup +------------ + +Follow these steps to connect and use an analog microphone with the Axon Lite board. + +1. Connect the microphone +^^^^^^^^^^^^^^^^^^^^^^^^^ + +Connect your microphone to the Axon Lite board: + +* If you are using single interface mic, just connect MIC_OUT to ANALOG_MIC PIN (+) and Microphone ground → Axon Lite GND (Connect to GPIO GND) +* Otherwise if you are using differential mic, connect MIC_OUT to ANALOG_MIC PIN (+) and MIC_GND to ANALOG_MIC PIN (-) + +Refer to the Axon Lite pinout documentation for exact pin locations `Axon Lite Pinouts `_ + +2. Detect the microphone +^^^^^^^^^^^^^^^^^^^^^^^^ + +Boot the Axon Lite board and open a terminal. + +Run: + +.. code-block:: bash + + arecord -l + +This will list available recording devices. + +Example output: + +.. code-block:: text + + vicharak@vicharak:~$ aplay -l + **** List of PLAYBACK Hardware Devices **** + card 0: rockchipes8388 [rockchip-es8388], device 0: dailink-multicodecs ES8323 HiFi-0 [dailink-multicodecs ES8323 HiFi-0] + Subdevices: 1/1 + Subdevice #0: subdevice #0 + +* Look for rockchipes8388, it contains **ES8388** which is an analog audio codec chip, which handles: audio. +* Note down the device and card number to be used in below commands + +* In this example: ``card 0, device 0 → plughw:0,0`` is used + +3. Record Audio from Microphone +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Prerequisites +""""""""""""" + +Ensure: + +* Microphone is properly connected to the SBC +* ALSA utilities are installed + +Install if needed: + +.. code-block:: bash + + sudo apt install alsa-utils + +Step 1: Record Audio +"""""""""""""""""""" + +Record audio using: + +.. code-block:: bash + + arecord -D plughw:0,0 -f S16_LE -r 16000 -c 1 test.wav + +Parameter Explanation +,,,,,,,,,,,,,,,,,,,,, + +.. list-table:: + :header-rows: 1 + :widths: 20 60 + + * - Parameter + - Meaning + * - ``-D plughw:0,0`` + - Select microphone device + * - ``-f S16_LE`` + - 16-bit signed little-endian format + * - ``-r 16000`` + - Sampling rate (16 kHz) + * - ``-c 1`` + - Mono recording + * - ``test.wav`` + - Output file + +Step 2: Stop Recording +"""""""""""""""""""""" + +Press: + +.. code-block:: text + + Ctrl + C + +The audio will be saved as ``test.wav`` + +Step 3: Playback Recorded Audio +""""""""""""""""""""""""""""""" + +Verify recording: + +.. code-block:: bash + + aplay test.wav + +Recommended Settings for Speech Applications +""""""""""""""""""""""""""""""""""""""""""""" + +Use: + +.. code-block:: bash + + arecord -D plughw:0,0 -f S16_LE -r 16000 -c 1 speech.wav + +This configuration is ideal for: + +* Speech recognition +* Voice assistants +* Embedded AI applications + + +Notes +,,,,, + +* Use ``plughw`` instead of ``hw`` to allow automatic format conversion +* 16 kHz mono is sufficient for most voice applications +* Higher sample rates (e.g., 44100 Hz) may be used for higher quality audio + +Example: + +.. code-block:: bash + + arecord -D plughw:0,0 -f S16_LE -r 44100 -c 2 audio.wav + + +Troubleshooting +--------------- + +Quick Diagnostic Commands +^^^^^^^^^^^^^^^^^^^^^^^^^^ + +List supported hardware parameters: + +.. code-block:: bash + + arecord -D hw:0,0 --dump-hw-params + +Check microphone levels: + +.. code-block:: bash + + alsamixer + +Press ``F4`` → Capture devices + +Increase capture volume if needed. + +--- + +No audio detected +^^^^^^^^^^^^^^^^^ + +Check the following: + +* Microphone is connected correctly +* Ground connection is secure +* Microphone output is connected to MIC input +* Device is visible using: + + .. code-block:: bash + + arecord -l + +* Capture volume is not muted: + + .. code-block:: bash + + alsamixer + + Press F4 and increase Capture volume. + +--- + +Low audio volume +^^^^^^^^^^^^^^^^ + +Possible solutions: + +* Increase microphone gain using: + + .. code-block:: bash + + alsamixer + +* Use a microphone module with built-in amplifier +* Move closer to the microphone + +--- + +Excessive noise or interference +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Check the following: + +* Ensure proper grounding +* Keep microphone wires short +* Avoid routing microphone wires near power or digital signal lines +* Use shielded cables if necessary + +--- + +Hum or buzzing sound +^^^^^^^^^^^^^^^^^^^^ + +Possible causes: + +* Ground loop issues +* Poor shielding +* Electrical interference from nearby components + +Solutions: + +* Ensure common ground between microphone and Axon Lite +* Use shielded microphone cable +* Keep microphone away from power sources and high-frequency components + +--- + +Verification Checklist +---------------------- + +Ensure the following: + +* Microphone is securely connected +* Microphone appears in ``arecord -l`` +* Audio recording works using ``arecord`` +* Audio playback works using ``aplay`` +* Capture volume is properly set using ``alsamixer`` diff --git a/source/vicharak_sbcs/axon-lite/audio/audio-jack.rst b/source/vicharak_sbcs/axon-lite/audio/audio-jack.rst new file mode 100644 index 00000000..06aa47b0 --- /dev/null +++ b/source/vicharak_sbcs/axon-lite/audio/audio-jack.rst @@ -0,0 +1,112 @@ +3.5 mm Audio Jack +================== + +.. image:: /_static/images/rk3576-axon-lite/axon-lite-audio-jack.webp + :width: 80% + +The 3.5 mm audio jack on axon-lite-based RK3576 Rockchip SBCs running Linux provides analog stereo output and, where supported by the hardware, a microphone input. + +Key Features +------------ +- Analog stereo output via a 3.5 mm TRS jack +- Headset/jack-detect support where implemented by the board +- Full integration with ALSA, and compatibility with PulseAudio or PipeWire + +Getting Started +--------------- +Prerequisites +- Linux kernel with RK3576 audio drivers enabled +- Root access +- ALSA utilities installed (alsa-utils) + +Verification and testing + +1. Identify audio devices + +.. code-block:: bash + + arecord -l + aplay -l + + +In Axon Lite, you will be shown below audio devices : + +.. code-block:: bash + + vicharak@vicharak:~$ arecord -l + **** List of CAPTURE Hardware Devices **** + card 0: rockchipes8388 [rockchip-es8388], device 0: dailink-multicodecs ES8323 HiFi-0 [dailink-multicodecs ES8323 HiFi-0] + Subdevices: 1/1 + Subdevice #0: subdevice #0 + + +.. code-block:: bash + + vicharak@vicharak:~$ aplay -l + **** List of PLAYBACK Hardware Devices **** + card 0: rockchiphdmi0 [rockchip-hdmi0], device 0: rockchip-hdmi0 i2s-hifi-0 [rockchip-hdmi0 i2s-hifi-0] + Subdevices: 1/1 + Subdevice #0: subdevice #0 + card 1: rockchipes8388 [rockchip-es8388], device 0: dailink-multicodecs ES8323 HiFi-0 [dailink-multicodecs ES8323 HiFi-0] + Subdevices: 1/1 + Subdevice #0: subdevice #0 + +2. Determine the target card/PCM ( card 0: rockchipes8388 ) for the 3.5 mm jack. + +- Review the output from the commands above to locate the card corresponding to the RK3576 audio codec. +- If multiple cards are present, select the one associated with the onboard codec. + +3. Test playback + +.. code-block:: bash + + aplay -D hw:0,0 /usr/share/sounds/alsa/Front_Center.wav + +- aplay is an ALSA (Advanced Linux Sound Architecture) tool designed to play raw audio and basic WAV files. It does not have a built-in MP3 decoder. +- If you hear audio, the playback path is functioning for the selected card. + +4. Test recording (if a microphone input is available) + +.. code-block:: bash + + arecord -D hw:0,0 -f cd -d 5 test.wav + aplay test.wav + +- If you hear playback of the recorded sample, the mic path is functioning. + +5. Adjust volume and mute settings + +.. code-block:: bash + + sudo apt-get install -y alsa-utils + alsamixer + +- In the interactive interface, select the correct sound card (F6) and ensure Master/Headphone/Output are unmuted and at an audible level. + +6. To play that **.mp3** file, you need to use a program that can actually decode MP3s. + +Use an MP3 player and Install and use a command-line MP3 player like mpg123, mpv, or ffplay. + +For example, using mpg123: + +.. code-block:: bash + + sudo apt install mpg123 + mpg123 `_ + +`Available on Vicharak Store `_ diff --git a/source/vicharak_sbcs/axon-lite/axon-lite-accessories/axon-lite-ethernet-usb3.rst b/source/vicharak_sbcs/axon-lite/axon-lite-accessories/axon-lite-ethernet-usb3.rst new file mode 100644 index 00000000..b5d9ed6f --- /dev/null +++ b/source/vicharak_sbcs/axon-lite/axon-lite-accessories/axon-lite-ethernet-usb3.rst @@ -0,0 +1,31 @@ +:orphan: + +####################################### +Axon Lite Ethernet and Dual USB 3.0 HAT +####################################### + +.. warning:: + This accessory is coming soon. + +.. image:: /_static/images/rk3576-axon-lite/axon-lite-ethernet-usb3.webp + :width: 70% + :align: center + +.. note:: + + Connect the Expansion board while Axon Lite is powered off to avoid any damage. + +The Axon Lite Ethernet and Dual USB 3.0 Hub HAT is compatible with Axon Lite and provides a perfect combination of network and peripheral expansion. Utilizing the PCIe port, it adds a Gigabit Ethernet port along with two additional USB 3.0 ports to your Axon Lite SBC. + +Specifications: +---------------- + +- PCIe to Ethernet and 2x USB 3.0 Interface +- High-speed data and network transfer +- Uses Axon Lite PCIe Port + +`Using guide in Linux (Ethernet) `_ + +`Using guide in Linux (USB 3.0) `_ + +`Available on Vicharak Store `_ diff --git a/source/vicharak_sbcs/axon-lite/axon-lite-accessories/axon-lite-quad-usb3.rst b/source/vicharak_sbcs/axon-lite/axon-lite-accessories/axon-lite-quad-usb3.rst new file mode 100644 index 00000000..40a65896 --- /dev/null +++ b/source/vicharak_sbcs/axon-lite/axon-lite-accessories/axon-lite-quad-usb3.rst @@ -0,0 +1,29 @@ +:orphan: + +##################################### +Axon Lite Quadruple USB 3.0 Hub HAT +##################################### + +.. warning:: + This accessory is coming soon. + +.. image:: /_static/images/rk3576-axon-lite/axon-lite-quad-usb.webp + :width: 70% + :align: center + +.. note:: + + Connect the Expansion board while Axon Lite is powered off to avoid any damage. + +The Axon Lite Quadruple USB 3.0 Hub HAT is compatible with Axon Lite and can be easily installed to expand USB connectivity. It allows you to connect up to four additional USB 3.0 devices to your Axon Lite SBC, utilizing the PCIe port for high-speed data transfer. + +Specifications: +---------------- + +- PCIe to 4x USB 3.0 Interface +- High-speed data transfer +- Uses Axon Lite PCIe Port + +`Using guide in Linux `_ + +`Available on Vicharak Store `_ diff --git a/source/vicharak_sbcs/axon-lite/axon-lite-accessories/fan.rst b/source/vicharak_sbcs/axon-lite/axon-lite-accessories/fan.rst new file mode 100644 index 00000000..372ce777 --- /dev/null +++ b/source/vicharak_sbcs/axon-lite/axon-lite-accessories/fan.rst @@ -0,0 +1,37 @@ +:orphan: + +########################################### +Active Heat Sink +########################################### + +.. .. image:: ../../../_static/images/rk3576-axon-lite/axon-lite-fan.webp +.. :width: 40% +.. :align: center + +After removing the protective film from the heatsink, install it on processor, immediately without touching the contact surface, ensuring proper alignment and even pressure for optimal thermal performance. + +Active heat sink can be run on `5V` through GPIO Header pins available on Axon Lite. + +.. tip:: + + `Axon Lite GPIO Header Pin `_ + +.. list-table:: + :widths: 20 40 + :header-rows: 1 + :class: feature-table + + * - **Axon Lite Pin** + - **Fan Pin** + * - Pin 5/7 + - 5 V + * - Pin 6/8 + - GND + +Additionally, you can purchase this accessory separately from the `Vicharak Store `_. + + +.. warning:: + + If you have already attached passive heatsink, then Generally, First blow hot air to loosen the existing heatsink, then carefully remove it. After that, simply remove previous heatsink gum and attach the new heatsink—whether active or passive. + diff --git a/source/vicharak_sbcs/axon-lite/axon-lite-downloads.rst b/source/vicharak_sbcs/axon-lite/axon-lite-downloads.rst new file mode 100644 index 00000000..6a8a04f2 --- /dev/null +++ b/source/vicharak_sbcs/axon-lite/axon-lite-downloads.rst @@ -0,0 +1,102 @@ +.. _axon-lite-downloads: + +Axon Lite Downloads +=================== + +OS Images +--------- + +.. list-table:: + :widths: 25 100 + :header-rows: 1 + + - - **Operating System** + - **Variant** + - - Debian + - `Trixie 13 `_ + - - Ubuntu + - **Coming Soon** + - - Community Images + - **Coming Soon** + +.. note:: + + The images are compressed using XZ. You can use `7zip `_ or + `WinRAR `_ to extract the file. + + For **Linux**, you can use the following command to extract the image: + + .. code-block:: console + + xz -d .xz + + + +.. seealso:: + + How to flash the image to the board using + :doc:`axon-lite-linux/linux-usage-guide/rockchip-develop-guide` + + Also check :doc:`axon-lite-linux/linux-usage-guide/axon-lite-linux-start-guide` + + +OS Utilities +------------ +.. list-table:: + :widths: 25 100 + :header-rows: 1 + + - - **Utility** + - **Download Link** + - - Rockchip Linux Upgrade Tool + - `V2.1 `_ + - - Rockchip RkDevTool + - `V3.19 + `_ + - - Rockchip Windows Drivers + - `V5.12 + `_ + - - Balena Etcher + - `V1.18.11 `_ + +SoC Documents +------------- +.. TODO: Add datasheet and TRM documents +.. list-table:: + :widths: 25 100 + :header-rows: 1 + + - - **File** + - **Download Link** + + - - Rockchip SoC and BSP Documents + - `GitHub `_ + +Axon Lite Pin-outs Guide +--------------------- +.. TODO: Add link for Axon Lite 3D File + +`Download Pinouts `_ + +Mechanical Information +---------------------- +.. TODO: Update weight +.. list-table:: + :widths: 25 100 + :header-rows: 1 + + - - **Property** + - **Value** + - - Dimensions + - 93mm x 75mm x 21.125 + - - Weight + - 69 grams + - - Mounting holes + - 4x M2.5 holes for easy installation + +| + +.. TODO: Update the respective links +.. seealso:: + + :ref:`Frequently Asked Questions ` diff --git a/source/vicharak_sbcs/axon-lite/axon-lite-faq.rst b/source/vicharak_sbcs/axon-lite/axon-lite-faq.rst new file mode 100644 index 00000000..95b88a4a --- /dev/null +++ b/source/vicharak_sbcs/axon-lite/axon-lite-faq.rst @@ -0,0 +1,78 @@ +.. _axon-lite-faq: + +Frequently Asked Questions +========================== + +.. TODO: Add axon-lite-linux-uart-serial-console (Axon Lite Linux Usage Guide) + +How to take logs +---------------- + +.. tab-set:: + + .. tab-item:: Windows + + - Connect the device to the PC and use the :ref:`Serial Console Tool ` to open the serial port of the device. + + - Once the serial port is opened, Take the kernel and user space logs by running the following commands in the serial port tool. + + .. code-block:: bash + + sudo dmesg > dmesg.txt + sudo tar -cvzf system-logs.tar.gz /var/log + + - Once the logs are taken, close the serial port tool and disconnect the device from the PC. + + - Attach the logs to the issue. + + .. note:: + If the device is not booting up, then take the logs from the serial port tool and attach it to the issue. + + .. tab-item:: Linux + + - Connect the device to the PC and use the :ref:`axon-lite-linux-uart-serial-console` to open the serial port of the device. + + - Once the serial port is opened, Take the kernel and user space logs by running the following commands in the serial port tool. + + .. code-block:: bash + + sudo dmesg > dmesg.txt + sudo tar -cvzf system-logs.tar.gz /var/log + + - Once the logs are taken, close the serial port tool and disconnect the device from the PC. + + - Attach the logs to the issue. + + .. note:: + If the device is not booting up, then take the logs from the serial port tool and attach it to the issue. + +Does Axon Lite have an FPGA? +----------------------- +No + +How to report a bug +------------------- + +For reporting a bug, please follow the following template: + +**Issues and Questions Template** + +1. Describe the problem +2. Peripherals Connected +3. Take Logs (``_) + +.. TODO: Add the template for reporting a bug + Improve how to report a bug section + +RkDeveloptool Crashes on Windows +-------------------------------- + +If the RkDeveloptool crashes on Windows, then please follow the following steps: + +1. Make sure you have the latest version of the RkDeveloptool installed on your PC. + +2. Make sure you have the mentioned `DriversAssistant `_ drivers installed on your PC. + +3. Uninstall old **RkDeveloptool** and **DriversAssistant** from your PC. Then install the latest version of **RkDeveloptool** and **DriversAssistant**. + +4. If the above steps do not solve the issue, then please report the issue to the `Rockchip tools `_ repository. diff --git a/source/vicharak_sbcs/axon-lite/axon-lite-getting-started.rst b/source/vicharak_sbcs/axon-lite/axon-lite-getting-started.rst new file mode 100644 index 00000000..ea1ef3e4 --- /dev/null +++ b/source/vicharak_sbcs/axon-lite/axon-lite-getting-started.rst @@ -0,0 +1,349 @@ +.. _axon-lite-getting-started: + +Getting Started +############### + +For Axon Lite, Vicharak has provided all the necessary accessories and +information to get started with the board. This section will guide you through +the initial setup process and provide you with the necessary information to get +started with Axon Lite. + +.. TODO: Modify this for Axon Lite + +What's in the box? +================== + +1. **Axon Lite** + - Single-board computer optimized for high-performance computing and AI. + - Powered by Rockchip RK3576 SoC (octa-core CPU: quad-core Cortex-A76 and quad-core Cortex-A55). + - 2GB/4GB/8GB LPDDR5 RAM, 32GB eMMC storage, 40-Pin GPIO: header. + - Pre-installed with Debian 13 (Trixie). + +2. **PD Cable** + - Supplies power to Axon Lite. + - Ensures stable and efficient power delivery via USB-C with Power Delivery technology. + +3. **Wi-Fi and Bluetooth Antennas** + - Includes custom made pcb antennas for both Wi-Fi ( 2.4 & 5Ghz ) and Bluetooth connectivity. + - These antennas ensure greater signal range and reliable connectivity for Wi-Fi and Bluetooth devices. + +What else do you need? +====================== + +**1. Compatible Power Source (see :ref:`axon-lite-power-sources`)** + +**2. Micro HDMI or Type-C DP cable to drive Display Monitor** + +**3. USB2.0 Keyboard and Mouse** + +**4. Monitor with HDMI/Type-C DP input** + +**5. USB-C to USB-A Male cable (optional)** + +**6. SD-card (optional)** + +**7. Internet Connection (optional)** + +**8. USB to TTL Serial Cable (optional)** + +.. note:: + | The items listed above are not included in the box. + | You can purchase them from the :ref:`axon-lite-accessories` page. + +Axon Lite OS Images +============== + + :ref:`axon-lite-downloads` + +Axon Lite OS Credentials +======================== + +.. note:: + Username : vicharak + + Password : 12345 + +- To Go to into ``root`` user, Type ``su`` terminal and Default Password is ``root``. + +Axon Lite Button Guide +================= + +.. image:: ../../_static/images/rk3576-axon-lite/axon-lite-keys-guide.webp + :width: 70% + + +1. Power Button + You can turn on Axon Lite with the power button if it is currently off. When the cpu is powered off the red LED will on to + let you know that the board has proper power supply ( 12 V ), If you press the power button ( for 1-2 seconds ) then white and blue LED will be on and start booting + up with blinking white LED. + +2. Reset Button + You can reboot Axon Lite by pressing reset button. + +3. Boot Button + Boot button mainly to get Axon Lite into MaskRom Mode. + +.. note:: + | *To get Axon Lite in MaskRom Mode*, Need to press reset button 2-3 times with holding boot button. + + `Watch Video tutorial to get Board in MaskRom Mode `_ + +Getting Started with eMMC +========================= + +Turning board on +---------------- + +Axon Lite comes pre-loaded with **Debian** (``Trixie``) operating system on +its ``eMMC`` (embedded MultiMediaCard) storage, and it offers support for +``SD-card`` boot mode. + +If users wish to explore different operating systems, they must utilize the +appropriate firmware to program the board accordingly. + +In the boot priority, ``SD-card`` takes the highest precedence, followed by +``eMMC``. In practical terms, if there's a SD-card attached to Axon Lite, +it will initiate the boot process from it. In the absence of an SD-card, +the default boot destination becomes the eMMC storage. + +For the purpose of this guide, we will focus on the ``eMMC`` storage and the +pre-installed ``Debian (Trixie)``, omitting detailed instructions for +``SD-card`` boot configurations. + +Connect a compatible power adapter to the Axon Lite board. Once the power is connected, the board will automatically turn on. + +For a comprehensive list of all supported power methods, including 12V PD, 5V, Battery, and PoE, please see the :ref:`axon-lite-power-sources` page. + +.. image:: ../../_static/images/rk3576-axon-lite/axon-lite-power-details.webp + :width: 60% + +Axon Lite is pre-installed with Debian (``Trixie``) on its eMMC storage. +So, when you power on the board, it will boot from the eMMC storage by default. + +.. warning:: + Remove SD-card if inserted + +Verify the power LED +-------------------- + +Upon connecting the power cable, the activation of the **Red LED** serves as an +immediate visual indicator of the board's power status. This LED signifies that +the Axon Lite is receiving power, and its illumination provides users with a +tangible confirmation of the successful power connection. + +.. image:: ../../_static/images/rk3576-axon-lite/axon-lite-power-led.webp + :width: 50% + +Verify the status LED +--------------------- + +The activation of the **white LED**, marked by a blinking pattern, signifies +the completion of the booting process. This visual cue assures users that the +Axon Lite has successfully booted from its storage medium and is ready for further +configuration. + +.. image:: ../../_static/images/rk3576-axon-lite/axon-lite-leds.webp + :width: 50% + +.. warning:: + | + | Please ensure you wait for the system to complete its reboot. + | This is necessary because the system requires configuration adjustments + | before you proceed to the next step. Taking the time to allow the system to + | finish restarting ensures that it is fully set up for the subsequent tasks. + +Available Boot Modes +==================== + + +.. TODO: Add Axon Lite SD card boot doc + +Booting from SD card +-------------------- +To boot from SD card, please follow below document. + + :doc:`axon-lite-sdcard-boot` + +.. TODO: Add suppoprt for Axon Lite + +How to access your Axon Lite board ? +================================= +There are multiple ways to access your Axon Lite. You can connect the Axon Lite +SBC to a monitor using the **micro HDMI port**, or you can connect it to your +computer headless using **SSH** or **serial console**. + +For the initial setup process, we recommend connecting the Axon Lite to a +monitor using the **micro HDMI port**. Once the initial setup is complete, you can +connect the Axon Lite to your computer using the USB-C port. + +.. note:: + If you want to access the **serial console**, + Skip to the :ref:`Serial Console ` section. + + If you want to access the **Axon Lite using SSH**, + Skip to the :ref:`SSH ` section. + +.. TODO: Add axon-lite start guide + +1. Using Micro HDMI port +------------------------- + +Axon Lite is equipped with a **micro HDMI port**, which allows for easy +connection to a display. By using a micro HDMI to HDMI cable or adapter, users +can connect Axon Lite to a monitor or TV with an HDMI input. + +This enables direct visual access to the graphical user interface (GUI) or +command-line interface (CLI) on the connected display. + +.. image:: ../../_static/images/rk3576-axon-lite/axon-lite-hdmi.webp + :width: 50% + +Connect the Micro HDMI to HDMI cable to the Axon Lite and the monitor. +Once the cable is connected, the Axon Lite will automatically detect the +monitor and display the output. + +.. admonition:: Check out Linux Start Guide + :class: tip + + Once the Axon Lite is connected to the monitor, you can follow the + :ref:`Linux Start Guide ` to complete the initial setup. + +.. _axon-lite-serial-console: + +2. Using Serial Console +------------------------ + +Axon Lite also provides a serial interface, typically in the form of UART +(Universal Asynchronous Receiver-Transmitter) pins. + +Users can access the system's console or terminal interface by connecting to +these serial pins using a serial cable or adapter. This method is often used +for debugging, troubleshooting, or accessing the system when other interfaces +are not available. + +Preparation +``````````` + +To access Axon Lite through the serial interface, you will need the following: + +- A computer with a serial terminal application installed + (such as PuTTY or minicom). +- A USB to UART serial cable or adapter (such as FTDI or PL2303). +- Micro USB or USB-C cable. +- 3 Pin Jumper Wire ( Tx, Rx and GND ) + +.. warning:: + + When UART (FTDI/PL2303) is connected to Axon Lite, and Axon Lite is poweroff. It requires to disconnect it from Axon Lite, in order to turn on Axon Lite Again. + +Hardware Setup +`````````````` + +1. Connect the USB to UART serial cable or adapter to your computer. + +2. Connect the serial cable or adapter to Axon Lite. + +.. list-table:: + :widths: 20 40 130 + :header-rows: 1 + :class: feature-table + + * - **Serial FTDI Pin** + - **Header GPIO Pin** + - **Schematic Name** + * - GND + - Pin 6 + - GND + * - RX + - Pin 8 + - UART0_TX_M0 + * - TX + - Pin 10 + - UART0_RX_M0 + +.. image:: ../../_static/images/rk3576-axon-lite/axon-lite-serial-uart-pins.webp + :width: 50% + +.. note:: + When accessing Axon Lite through the serial interface, it is important to + configure the serial parameters correctly. For RK3576-based systems, + the following parameters are typically used: + + | Baud rate: `1500000` + | Data bit: `8` + | Stop bit: `1` + | Parity check: `none` + | Flow control: `none` + +.. warning:: + | + | During the first boot you will see a warning on your serial console. + | So, please ensure that you wait for the system to complete its reboot. + | This is necessary because the system requires configuration adjustments + | before you proceed to the next step. Taking the time to allow the system to + | finish restarting ensures that it is fully set up for the subsequent tasks. + +Running the Serial Console Program +`````````````````````````````````` + +.. include:: ../common/common-serial-console-program.rst + +.. _axon-lite-ssh: + +3. Using SSH +------------- + +.. include:: ../common/common-ssh.rst + +.. + 4. Set up automatic Wi-Fi connection on boot + -------------------------------------------- + + In the following example, we will set up automatic Wi-Fi connection on boot + for the **wlan0** interface. This will be useful if you are using a + headless system. That means you will not need to connect a monitor, keyboard, + or mouse to your system to connect to WiFi. + + **1. Edit the ** ``/usr/lib/vicharak-config/conf.d/before.txt`` ** file and add + the following lines:** + + :: + + connect-wi-fi + + Example: + + :: + + connect-wi-fi vicharak_5g vcaa_g123 + + **2. Reboot the system.** + +Axon Lite Boot modes +================= +.. TODO: Add axon-lite-maskrom-mode document +.. list-table:: + :widths: 20 40 + :header-rows: 1 + + * - **Boot Mode** + - **Description** + * - Normal Mode + - Normal boot mode is the default boot mode. In this mode, the board boots + from the `eMMC` or `SD-card`. Each partition loads in order and enters + the system normally. + * - Loader Mode + - Loader mode is used to upgrade the `bootloader`. In this mode, the + bootloader will wait for the host command for `firmware upgrade`. + On success, the board boots from the `eMMC` or `SD-card`, + and the board enters the system normally. + * - Maskrom Mode + - | Maskrom mode is used to `repair` the board. In a situation where the + bootloader is damaged, the board can enter the maskrom mode. + In general, there is no need to enter `Maskrom` mode. + In this mode, the bootrom code waits for the host to transmit the + bootloader code through the USB-C port, load and run it. + +.. seealso:: + + :ref:`axon-lite-downloads` diff --git a/source/vicharak_sbcs/axon-lite/axon-lite-gpio-description.md b/source/vicharak_sbcs/axon-lite/axon-lite-gpio-description.md new file mode 100755 index 00000000..4d19da7a --- /dev/null +++ b/source/vicharak_sbcs/axon-lite/axon-lite-gpio-description.md @@ -0,0 +1,150 @@ +--- +orphan: true +--- + +(axon-lite-gpio-description)= + +# Axon Lite GPIO Description + +Vicharak Axon Lite board features a 40-pin GPIO (General-Purpose Input/Output) +header that provides flexible options for connecting and controlling external +devices. Through software settings, you can configure these pins as either +input or output, making them adaptable for various applications. + +Out of the 40 pins on the header, 26 are dedicated GPIO pins. These GPIO pins +can be used as digital inputs or outputs to control or read from external +hardware. + +The remaining pins are dedicated to other functions, such as: +- Power supply (3.3V and 5V) +- Ground (GND) +- Specific interfaces (I2C, SPI, UART, PWM, etc.) +- UART debug (Pin 8 and 10) + + +## GPIO Voltage Level +RK3576 SoC has three multiple GPIO voltage levels. Below table shows the +voltage level of Axon Lite GPIOs. + +:::{list-table} +:widths: 40 40 +:header-rows: 1 + +- + - GPIO + - Voltage Level + +- + - UART debug (Pin 8 and 10) + - 3.3V + +- + - SARADC + - 1.8V + +- + - Other GPIOs + - 3.3V + +::: + +## Available GPIOs on Axon Lite + +Vicharak Axon Lite board has total **40 GPIOs** available for user which +are accessible on `pin header`. +Below table shows the GPIOs available on Axon Lite board. + +:::{warning} +Not all functions can be used at the same time. Only one function can be used +or assigned to a GPIO at a time. +::: + +### Axon Lite GPIOs Header + +
+ +| GPIO number | Function5 | Function4 | Function3 | Function2 | Function1 | PWR/GND | GPIO | Pin# | Pin# | GPIO | PWR/GND | Function1 | Function2 | Function3 | Function4 | Function5 | Function6 | Function7 | GPIO number | +| :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | +| | | | | | | 3.3V | |
1
|
2
| | 5V | | | | | | | | | +| 129 | | | | I2C7_SDA_M2 | UART3_RX_M1 | | GPIO4_A1 |
3
|
4
| | 5V | | | | | | | | | +| 128 | | | | I2C7_SCL_M2 | UART3_TX_M1 | | GPIO4_A0 |
5
|
6
| | GND | | | | | | | | | +| 77 | | SAI0_MCLK_M0 | | | UART7_RTSN_M0 | | GPIO2_B5 |
7
|
8
| Debug | | UART0_TX_M0 | | | | | | | | +| | | | | | | GND | |
9
|
10
| Debug | | UART0_RX_M0 | | | | | | | | +| 112 | | SAI1_SDO3_M1 | | I2C4_SCL_M3 | UART2_TX_M2 / UART3_RTSN_M1 | | GPIO3_C0 |
11
|
12
| GPIO3_A0 | | UART3_TC_M0 | I2C7_SCL_M1 | SPI3_CLK_M0 | SAI3_SCLK_M2 | | | | 96 | +| 111 | | SAI1_SDI0_M1 | | I2C4_SDA_M3 | UART2_RX_M2 / UART3_CTSN_M1 | | GPIO3_B7 |
13
|
14
| | GND | | | | | | | | | +| 71 | | SAI0_SDO1_M0 | | I2C4_SDA_M2 | UART8_RX_M1 | | GPIO2_A7 |
15
|
16
| GPIO0_C1 | | UART8_TX_M2 | I2C0_SCL_M1 | | | | I3C0_SCL_M0 | | 17 | +| | | | | | | 3.3V | |
17
|
18
| GPIO0_C2 | | UART8_RX_M2 | I2C0_SDA_M1 | | | | I3C0_SDA_M0 | | 18 | +| 126 | PWM2_CH6_M3 | SAI1_SDI3_M1 | SPI3_MOSI_M1 | | UART5_CTSN_M0 | | GPIO3_D6 |
19
|
20
| | GND | | | | | | | | | +| 125 | | SAI1_SDI2_M1 | SPI3_MISO_M1 | I2C3_SDA_M2 | UART5_TX_M0 | | GPIO3_D5 |
21
|
22
| GPIO2_B4 | | UART7_CTSN_M0 | | | SAI0_SDI3_M0 | | | | 76 | +| 124 | | SAI1_SDI1_M1 | SPI3_CLK_M1 | I2C3_SCL_M2 | UART5_RX_M0 | | GPIO3_D4 |
23
|
24
| GPIO3_D7 | | UART5_RTSN_M0 | | SPI3_CSN1_M1 | | PWM2_CH7_M3 | | | 127 | +| | | | | | | GND | |
25
|
26
| GPIO2_A6 | | UART8_TX_M1 | I2C4_SCL_M2 | | SAI0_SDO0_M0 | | | | 70 | +| 117 | PWM2_CH2_M3 | SAI1_SDO0_M1 | SPI1_MISO_M2 | | UART8_RX_M0 | | GPIO3_C5 |
27
|
28
| GPIO2_B6 | | UART7_TX_M0 / UART8_RTSN_M1 | I2C8_SCL_M2 | | SAI0_SCLK_M0 | | | | 78 | +| 118 | | SAI1_LRCK_M1 | SPI1_MOSI_M2 | | UART8_TX_M0 | | GPIO3_C6 |
29
|
30
| | GND | | | | | | | | | +| 119 | | SAI1_SCLK_M1 | SPI1_CLK_M2 | | UART8_RTSN_M0 | | GPIO3_C7 |
31
|
32
| GPIO2_D5 | | UART6_CTSN_M1 | I2C9_SCL_M2 | | | PWM2_CH5_M2 | | | 93 | +| 120 | PWM2_CH3_M3 | SAI1_MCLK_M1 | SPI1_CSN0_M2 | | UART8_CTSN_M0 | | GPIO3_D0 |
33
|
34
| | GND | | | | | | | | | +| 97 | | SAI3_LRCK_M2 | SPI3_MOSI_M0 | I2C7_SDA_M1 | UART3_RX_M0 | | GPIO3_A1 |
35
|
36
| GPIO2_D4 | | | I2C9_SDA_M2 | | | PWM2_CH4_M2 | | | 92 | +| 79 | | SAI0_LRCK_M0 | | I2C8_SDA_M2 | UART7_RX_M0 / UART8_CTSN_M1 | | GPIO2_B7 |
37
|
38
| GPIO3_A3 | | UART3_RTSN_M0 | | SPI3_CSN0_M0 | SAI3_SDI_M2 | | | CAN_RX_M3 | 99 | +| | | | | | | GND | |
39
|
40
| GPIO3_A2 | | UART3_CTSN_M0 | | SPI3_MISO_M0 | SAI3_SDO_M2 | | | CAN_TX_M3 | 98 | + +
+ + + +:::{note} + +- The default function of pins marked in orange are + specific to this board. For example, Pins 8 and 10 cannot be used + as normal GPIO as they are UART debug pins. +- All pins, except those for power supply, are directly connected to the + System-on-Chip (SoC). +- `UART2` has a default baudrate to **115200 bps**, Need to change baudrate to **1500000 bps**. + Here, you can find instructions to use UART2 in [Serial Console](#axon-lite-linux-uart-serial-console), + and you can also use another UART provided on GPIO Pin, refer to [Vicharak Config Device tree overlays](/vicharak_sbcs/axon-lite/peripherals/uart) section. +::: + + +(axon-lite-gpio-transaction)= + +## GPIO Numbers translation + +| GPIO0 | Number | | GPIO1 | Number | | GPIO2 | Number | | GPIO3 | Number | | GPIO4 | Number | +| :--------------------------: | :----: | :-: | :-------------------------: | :----: | :-: | :------------------------: | :----: | :-: | :-----------------------: | :----: | :-: | :--------------------------: | :----: | +|
A0
| 0 | |
A0
| 32 | |
A0
| 64 | |
A0
| 96 | |
A0
| 128 | +|
A1
| 1 | |
A1
| 33 | |
A1
| 65 | |
A1
| 97 | |
A1
| 129 | +|
A2
| 2 | |
A2
| 34 | |
A2
| 66 | |
A2
| 98 | |
A2
| 130 | +|
A3
| 3 | |
A3
| 35 | |
A3
| 67 | |
A3
| 99 | |
A3
| 131 | +|
A4
| 4 | |
A4
| 36 | |
A4
| 68 | |
A4
| 100 | |
A4
| 132 | +|
A5
| 5 | |
A5
| 37 | |
A5
| 69 | |
A5
| 101 | |
A5
| 133 | +|
A6
| 6 | |
A6
| 38 | |
A6
| 70 | |
A6
| 102 | |
A6
| 134 | +|
A7
| 7 | |
A7
| 39 | |
A7
| 71 | |
A7
| 103 | |
A7
| 135 | +|
B0
| 8 | |
B0
| 40 | |
B0
| 72 | |
B0
| 104 | |
B0
| 136 | +|
B1
| 9 | |
B1
| 41 | |
B1
| 73 | |
B1
| 105 | |
B1
| 137 | +|
B2
| 10 | |
B2
| 42 | |
B2
| 74 | |
B2
| 106 | |
B2
| 138 | +|
B3
| 11 | |
B3
| 43 | |
B3
| 75 | |
B3
| 107 | |
B3
| 139 | +|
B4
| 12 | |
B4
| 44 | |
B4
| 76 | |
B4
| 108 | |
B4
| 140 | +|
B5
| 13 | |
B5
| 45 | |
B5
| 77 | |
B5
| 109 | |
B5
| 141 | +|
B6
| 14 | |
B6
| 46 | |
B6
| 78 | |
B6
| 110 | |
B6
| 142 | +|
B7
| 15 | |
B7
| 47 | |
B7
| 79 | |
B7
| 111 | |
B7
| 143 | +|
C0
| 16 | |
C0
| 48 | |
C0
| 80 | |
C0
| 112 | |
C0
| 144 | +|
C1
| 17 | |
C1
| 49 | |
C1
| 81 | |
C1
| 113 | |
C1
| 145 | +|
C2
| 18 | |
C2
| 50 | |
C2
| 82 | |
C2
| 114 | |
C2
| 146 | +|
C3
| 19 | |
C3
| 51 | |
C3
| 83 | |
C3
| 115 | |
C3
| 147 | +|
C4
| 20 | |
C4
| 52 | |
C4
| 84 | |
C4
| 116 | |
C4
| 148 | +|
C5
| 21 | |
C5
| 53 | |
C5
| 85 | |
C5
| 117 | |
C5
| 149 | +|
C6
| 22 | |
C6
| 54 | |
C6
| 86 | |
C6
| 118 | |
C6
| 150 | +|
C7
| 23 | |
C7
| 55 | |
C7
| 87 | |
C7
| 119 | |
C7
| 151 | +|
D0
| 24 | |
D0
| 56 | |
D0
| 88 | |
D0
| 120 | |
D0
| 152 | +|
D1
| 25 | |
D1
| 57 | |
D1
| 89 | |
D1
| 121 | |
D1
| 153 | +|
D2
| 26 | |
D2
| 58 | |
D2
| 90 | |
D2
| 122 | |
D2
| 154 | +|
D3
| 27 | |
D3
| 59 | |
D3
| 91 | |
D3
| 123 | |
D3
| 155 | +|
D4
| 28 | |
D4
| 60 | |
D4
| 92 | |
D4
| 124 | |
D4
| 156 | +|
D5
| 29 | |
D5
| 61 | |
D5
| 93 | |
D5
| 125 | |
D5
| 157 | +|
D6
| 30 | |
D6
| 62 | |
D6
| 94 | |
D6
| 126 | |
D6
| 158 | +|
D7
| 31 | |
D7
| 63 | |
D7
| 95 | |
D7
| 127 | |
D7
| 159 | + + + +:::{seealso} +[Configure 40-Pin header using vicharak-config utility](#) +**(Will be available soon)** +::: diff --git a/source/vicharak_sbcs/axon-lite/axon-lite-home.rst b/source/vicharak_sbcs/axon-lite/axon-lite-home.rst new file mode 100644 index 00000000..c6f5e177 --- /dev/null +++ b/source/vicharak_sbcs/axon-lite/axon-lite-home.rst @@ -0,0 +1,63 @@ +.. _axon-lite-linux: + +###################################### + Welcome to Axon Lite's documentation! +###################################### + +The **Axon Lite Computer** (SBC) is powered by rockchip's **RK3576** + +.. grid:: 2 + + .. grid-item:: + + .. image:: /_static/images/rk3576-axon-lite/axon-lite-top.webp + :width: 100% + :alt: axon-lite top + + + .. grid-item:: + + .. image:: /_static/images/rk3576-axon-lite/axon-lite-back.webp + :width: 100% + :alt: axon-lite back + + +.. toctree:: + :glob: + :caption: Contents + :maxdepth: 5 + :titlesonly: + + + Overview + Getting Started + Power Sources + Axon Lite Linux Documentation + Connectivity + Storage + Peripherals + Display Interface + Audio Interface
` + + .. code:: + + sudo apt update + sudo apt reinstall linux-image-6.1.75-axon-lite linux-headers-6.1.75-axon-lite + + You can also use Kernel linux-image-5.10.160-axon-lite. + +Tailscale Setup and Configuration on Linux +========================================== + +Tailscale is a mesh VPN based on WireGuard that allows secure and simple networking between devices, even across firewalls and NAT. +This guide explains how to install, configure, and manage Tailscale on Linux systems. + +Prerequisites +------------- + +- A Linux-based system (Debian, Debian) +- Root privileges (sudo) +- An active internet connection +- A `Tailscale account `_ + +Installation +------------ + +Install via Official Script (Recommended) + +`Installation Guide `_ + +Start and Enable the Service +---------------------------- + +After installation, start and enable the Tailscale daemon: + +.. code-block:: bash + + sudo systemctl enable --now tailscaled + +Authenticate with Tailscale +--------------------------- + +Use the following command to connect the device to your Tailscale network: + +.. code-block:: bash + + sudo tailscale up + +This will print a URL. Open it in your browser and authenticate using your Tailscale account. Once complete, your device will join the mesh network. + +Check Connection Status +----------------------- + +View current connection status: + +.. code-block:: bash + + tailscale status + +Show the device's Tailscale IP address: + +.. code-block:: bash + + tailscale ip + +Show general information: + +.. code-block:: bash + + tailscale version + tailscale netcheck + +Disconnect from Tailscale +----------------- + +To disconnect from the network: + +.. code-block:: bash + + sudo tailscale down + +Troubleshooting +--------------- + +- Ensure the `tailscaled` service is running: + + .. code-block:: bash + + sudo systemctl status tailscaled + +- Re-authenticate if the device gets disconnected: + + .. code-block:: bash + + sudo tailscale up + +- Check logs: + + .. code-block:: bash + + journalctl -u tailscaled + +Uninstallation +-------------- + +To uninstall Tailscale: + +.. code-block:: bash + + sudo tailscale down + sudo apt remove tailscale # Or your distro’s package manager + +Links +----- + +.. note:: + + - `Official site `_ + - `Documentation `_ diff --git a/source/vicharak_sbcs/axon-lite/axon-lite-os-configuration/update-package.rst b/source/vicharak_sbcs/axon-lite/axon-lite-os-configuration/update-package.rst new file mode 100644 index 00000000..863b2325 --- /dev/null +++ b/source/vicharak_sbcs/axon-lite/axon-lite-os-configuration/update-package.rst @@ -0,0 +1,18 @@ +################## +Update Package +################## + +This documentation provides, if there are any updated packages are available from Vicharak and Debian, user will get to +know. + +.. warning:: + + Make sure, Board is connected to internet properly. + +Using Command line +------------- + +.. code:: + + sudo apt update + sudo apt upgrade diff --git a/source/vicharak_sbcs/axon-lite/axon-lite-os-configuration/vicharak-config/backup.rst b/source/vicharak_sbcs/axon-lite/axon-lite-os-configuration/vicharak-config/backup.rst new file mode 100644 index 00000000..e3bfc0e0 --- /dev/null +++ b/source/vicharak_sbcs/axon-lite/axon-lite-os-configuration/vicharak-config/backup.rst @@ -0,0 +1,352 @@ +:orphan: + +Vicharak Board Backup +===================== + +.. warning:: + + We recommend to use Vicharak 6.1 kernel and latest `Debian 13 trixie + `_ , in order to support Board Backup. Flash Image + using this :doc:`Documentation
` + + .. code:: + + sudo apt update + sudo apt reinstall linux-image-6.1.75-axon-lite linux-headers-6.1.75-axon-lite + +.. _backup_options: + +.. note:: + + You wont be able to take the backup of a running system. Say, you want to backup data from eMMC, then you would need to boot from another device, such as SD-Card, NVMe or SATA and take the backup after booting from that device. + + Two types of backup have been provided. + + 1. Full Backup: This option is used to backup the entire software stack including the loaders, bootloader, kernel and rootfs. This creates a flashable image of the board. + 2. Rootfs Backup: This option is used if you only want to backup the rootfs of your board. It uses the lossless gzip compression and creates a .tar.gz file of your rootfs. + +Getting latest vicharak-config +------------------------------ + +Device Backup can be enabled through the latest update of vicharak-config. To get the latest version of vichrak-config, run commands given below: + +.. code:: console + + sudo apt update + sudo apt install vicharak-config + +Board Backup through vicharak-config +------------------------------------ + +**Steps to follow for Board Backup** + +1. Open a terminal window (``Ctrl+Alt+T``). + +2. Run command ``sudo vicharak-config`` in it. + +3. Select ``Advanced Options`` option in it by pressing ``Enter`` key. + +.. code-block:: console + + ┌───────────────────────────────────┤ VICHARAK_CONFIG ├────────────────────────────────────┐ + │ Please select an option below: │ + │ │ + │ System Maintenance │ + │ Hardware │ + │ Overlays │ + │ Connectivity │ + │ Advanced Options │ + │ User Settings │ + │ Localization │ + │ About │ + │ │ + │ │ + │ │ + └──────────────────────────────────────────────────────────────────────────────────────────┘ + +4. Select ``Board Backup`` option. + +.. code-block:: console + + ┌───────────────────────────────────┤ VICHARAK_CONFIG ├────────────────────────────────────┐ + │ Please select an option below: │ + │ │ + │ Mali GPU │ + │ Display Options │ + │ VNC Server │ + │ USB Advanced features │ + │ Board Backup │ + │ │ + │ │ + │ │ + └──────────────────────────────────────────────────────────────────────────────────────────┘ + +5. Select the device which contains the system which you want to backup. The drive which has booted the system will not be shown as backing up a running system may lead to data corruption. + +.. code-block:: console + + ┌───────────────────────────────────┤ VICHARAK_CONFIG ├────────────────────────────────────┐ + │ Select the drive which you want to backup: │ + │ │ + │ /dev/sda 14.6G Cruzer\x20Blade disk │ + │ /dev/mmcblk1 14.8G disk │ + │ │ + │ │ + │ │ + │ │ + │ │ + └──────────────────────────────────────────────────────────────────────────────────────────┘ + +6. Read this :ref:`note ` and decide which backup option you want to select. Then, select the required backup option and press ``Enter``. Then, insert a drive in which you want to take your backup into the board. + +.. code-block:: console + + ┌───────────────────────────────────┤ VICHARAK_CONFIG ├────────────────────────────────────┐ + │ Available Backup Options: │ + │ │ + │ Full Backup (Creates a flashable image) │ + │ Rootfs Backup (Only copies root filesystem) │ + │ │ + │ │ + │ │ + └──────────────────────────────────────────────────────────────────────────────────────────┘ + +7. Select the drive in which you want to store the backup file. Suppose you want to store backup in ``SanDisk\x203.2Gen1``. Select ``/dev/sda 57.3G SanDisk\x203.2Gen1 disk`` and press ``Enter``. + +.. code-block:: console + + ┌───────────────────────────────────┤ VICHARAK_CONFIG ├────────────────────────────────────┐ + │ Available drives for backup: │ + │ │ + │ /dev/sda 57.3G SanDisk\x203.2Gen1 disk │ + │ /dev/sdb 14.6G Cruzer\x20Blade disk │ + │ │ + │ │ + │ │ + └──────────────────────────────────────────────────────────────────────────────────────────┘ + +8. Now, select the partition in which you want to store the backup file, and press ``Enter``. + +.. code-block:: console + + ┌───────────────────────────────────┤ VICHARAK_CONFIG ├────────────────────────────────────┐ + │ Available partitions for selected disk: │ + │ │ + │ /dev/sda1 15G part │ + │ /dev/sda2 15G part │ + │ /dev/sda3 27.3G part │ + │ │ + │ │ + │ │ + └──────────────────────────────────────────────────────────────────────────────────────────┘ + +9. You will see Warning Page saying the process will take time. Click on ``yes`` and the backup process will start. + +10. Once the Backup is complete you will get the following log in vicharak-config. + +.. code-block:: console + + ┌───────────────────────────────────┤ VICHARAK_CONFIG ├────────────────────────────────────┐ + │ [ OK ] Backup Complete! │ + │ │ + │ Backup file created at: │ + │ /media/vicharak/58fa9c45-0540-42a9-aa79-5911a3f73616/vicharak_axon-lite_backup │ + │ /axon-lite_rootfs_backup20250709_122223.tar.gz │ + │ │ + │ │ + │ │ + │ │ + └──────────────────────────────────────────────────────────────────────────────────────────┘ + +Flashing the backup file to a board +----------------------------------- + +.. tab-set:: + + .. tab-item:: Full Backup Image + + Rockchip offers the RKDevTool as a fundamental development tool for Windows and MacOS, and the Linux Upgrade Tool for Linux. A loader will be needed to be able to flash the backup image to the board. Download the loader from this `link `_. Using this tool will flash the board and erase all previous data. + + .. tab-set:: + + .. tab-item:: Linux + + 1) Enter Maskrom Mode in Axon Lite using this `video guide `_. + + 2) Setup the upgrade_tool using this :ref:`guide `. Only follow this guide for downloading and setting up upgrade_tool. Once downloaded, navigate to the directory of upgrade_tool. + + 3) Using ``ld`` option of upgrade_tool check whether Axon Lite is being detected. + + .. raw:: html + +
+ + .. code-block:: console + + $ sudo ./upgrade_tool ld + List of rockusb connected(1) + DevNo=1 Vid=0x2207,Pid=0x350b,LocationID=213 Mode=Maskrom SerialNo= + + 4) Use ``db`` option upgrade_tool to load the bootloader binary. + + .. raw:: html + +
+ + .. code-block:: console + + $ sudo ./upgrade_tool db /path/to/rk3576_spl_loader_v1.09.108.bin + Download boot ok. + + 5) Now using the ``wl`` option write the image to the board. + + .. raw:: html + +
+ + .. code-block:: console + + $ sudo ./upgrade_tool wl 0 /path/to/backup/axon-lite_full_backupYYYYMMDD_HHMMSS.img + Start to write axon-lite_full_backup20250712_112731.img at 0x0... + Write LBA from file (100%) + + 6) Finally reset the board using ``rd`` option with upgrade_tool. The backup image has been successfully flashed to the board. + + .. raw:: html + +
+ + .. code-block:: console + + $ sudo ./upgrade_tool rd + Reset Device OK. + + .. tab-item:: Windows + + 1) Enter Maskrom Mode in Axon Lite using this `video guide `_. + + 2) Install USB Drivers-Assistant and RKDevTool using this :ref:`guide `. Only follow installation section and return to this document. + + 3) You will see ``Found One MASKROM Device`` message in the bottom left corner. If you see ``No Devices Found``, it would mean device not in MASKROM mode. + + 4) Click on ``Download Image`` tab and make the following changes. Correctly select paths for the Loader and Image generated during backup and then click on ``Run``. + + .. image:: /_static/images/backup_rkdev.png + :width: 500px + + 5) Flashing image has completed. The board should reset automatically. If it still shows ``Found One MASKROM Device`` message, navigate to the ``Advanced Function`` tab. Then click on ``ResetDevice``. + + .. image:: /_static/images/backup_rstdev.png + :width: 500px + + .. tab-item:: MacOS + + 1) Using these commands install RKDevTool on MacOS. + + .. raw:: html + +
+ + .. code-block:: console + + % brew install automake autoconf libusb pkg-config git wget + % git clone https://github.com/rockchip-linux/rkdeveloptool + % cd rkdeveloptool + % autoreconf -i + % ./configure + % make -j $(nproc) + % cp rkdeveloptool /opt/homebrew/bin/ + + 2) Enter Maskrom Mode in Axon Lite using this `video guide `_. + + 3) Use rkdeveloptool command with ``ld`` option to list available devices. + + .. raw:: html + +
+ + .. code-block:: console + + % rkdeveloptool ld + DevNo=1 Vid=0x2207,Pid=0x350b,LocationID=104 Maskrom + + 4) Use rkdeveloptool command with ``db`` option to load the bootloader in the device. + + .. raw:: html + +
+ + .. code-block:: console + + % rkdeveloptool db /path/to/rk3576_spl_loader_v1.09.108.bin + Downloading bootloader succeeded. + + 5) Use rkdeveloptool command with ``wl`` option to write the image from 0x0 address. + + .. raw:: html + +
+ + .. code-block:: console + + % rkdeveloptool wl 0 /path/to/axon-lite_full_backupYYYYMMDD_HHMMSS.img + Write LBA from file (100%) + + 6) Use rkdeveloptool command with ``rd`` option to reset the device. + + .. raw:: html + +
+ + .. code-block:: console + + % rkdeveloptool rd + Reset Device OK. + + .. tab-item:: Compressed Rootfs Tar + + .. note:: + + If you don’t have access to a Linux host, it is recommended to boot the board from a storage device other than the one where you want to restore the rootfs. For example, if you plan to copy the rootfs to the eMMC, boot the board from an alternative device such as an SD card, SATA drive, NVMe, or USB. Once booted, proceed with step 5 from the Linux guide and use the tar command to copy the rootfs. + + You may use third-party tools to mount an ext4 filesystem like WinSCP on Windows and macFUSE on MacOS, but it is generally not recommended. + + .. tab-set:: + + .. tab-item:: Linux + + 1) Connect Axon Lite to a PC using a USB Cable. + + 2) Follow this :ref:`Using Serial Console guide ` to serially connect to Axon Lite. + + 3) Reboot the device and quickly press ``Ctrl + c`` to enter the U-Boot console. + + 4) From U-Boot Console type ``ums 0 mmc 0``. This will expose the eMMC as a USB connected to the host computer. If you have installed the OS in some other device like SD-Card or NVMe, you can use ``mmc list`` to find out the exact device number for that device. Replace ``ums 0 mmc 0`` by ``ums 0 mmc ``. + + .. warning:: + + If you wish to remove the current root filesystem, ensure that you delete files only from the board’s 6th partition and not from any system-related partitions. Also make sure, not to delete the partition directory itself—remove only the files inside it. + + 5) Ensure that the rootfs (6th partition) is mounted, if not mount it manually using ``mount`` command. If you want to remove current rootfs from the board then delete all the data from the mounted partition. Now using ``tar`` command copy the contents of the compressed backup to the device. Then run ``sync`` command to flush the file system buffer, ensuring all the data is written to eMMC. + + .. raw:: html + +
+ + .. code-block:: console + + $ sudo tar -xvzf /path/to/axon-lite_rootfs_backupYYYYMMDD_HHMMSS.tar.gz -C /path/to/rootfs_partition(6th partition)/of_device/ + $ sync + + 6) Now, unmount all the mounted paritions of the exposed disk using the ``umount`` command. + + 7) Finally, go to the previously opened serial console of the board and end the ums process using ``Ctrl + c``. Then enter the ``reboot`` command in the u-boot console. Your board will boot into the newly copied rootfs and all the data, packages, environments etc. will be restored. + +.. + .. tab-item:: Windows + + Instructions for Windows with rootfs tar go here. + + .. tab-item:: MacOS + + Instructions for macOS with rootfs tar go here. diff --git a/source/vicharak_sbcs/axon-lite/axon-lite-os-configuration/vicharak-config/index.rst b/source/vicharak_sbcs/axon-lite/axon-lite-os-configuration/vicharak-config/index.rst new file mode 100644 index 00000000..d8e2ffdb --- /dev/null +++ b/source/vicharak_sbcs/axon-lite/axon-lite-os-configuration/vicharak-config/index.rst @@ -0,0 +1,50 @@ +###################### +Axon Lite Vicharak Config +###################### + +**vicharak-config** also has a systemd service that is use configure system. It has many features like enabling +overlays, controlling WiFi and GPIO pins etc. + +How to navigate around vicharak-config +====================================== + +- Use **UP** or **DOWN** key to move the selection across available options. +- Use **RIGHT** or **LEFT** key to move `in` or `out` of the options menu and also, + allows you to select **** or **** option. +- Alternatively, you can also use **TAB** key to switch between them. +- **Enter** key is used to confirm the corresponding option. +- **ESC** key is used to do back to previous menu. + +Vicharak Config TUI +--------------------- + +.. code-block:: console + + ┌────────────────────────────────────┤ VICHARAK_CONFIG ├─────────────────────────────────────┐ + │ Please select an option below: │ + │ │ + │ System Maintaince │ + │ Hardware │ + │ Overlays │ + │ Connectivity │ + │ Advanced Options │ + │ User Settings │ + │ Localization │ + │ About │ + │ │ + │ │ + │ │ + │ │ + │ │ + │ │ + └────────────────────────────────────────────────────────────────────────────────────────────┘ + + +.. note:: + The above menu might be shown differently depending on the terminal style. + +.. toctree:: + :maxdepth: 1 + :caption: Available Feature + + vicharak-update diff --git a/source/vicharak_sbcs/axon-lite/axon-lite-os-configuration/vicharak-config/usb-tethering.rst b/source/vicharak_sbcs/axon-lite/axon-lite-os-configuration/vicharak-config/usb-tethering.rst new file mode 100644 index 00000000..ebe59109 --- /dev/null +++ b/source/vicharak_sbcs/axon-lite/axon-lite-os-configuration/vicharak-config/usb-tethering.rst @@ -0,0 +1,105 @@ +:orphan: + +USB Tethering – Usage Guide +=========================== + +.. warning:: + ⚠️ **Type-C Mode Switching Issues:** The Type-C0 port may not reliably switch between host and device modes. This feature might interfere with other Type-C peripherals, such as USB pen drives. If issues occur, try replugging the device or switching to a different Type-C port. + +The latest version of ``vicharak-config`` introduces **USB Tethering** support for seamless SSH access to your Axon Lite via the **TYPE-C0** USB port. In addition to SSH access, the tethering interface can now **share internet from Ethernet to your host machine** over USB. + +Key Features +------------ + +- Plug-and-play SSH access via USB at a fixed IP (``10.42.0.1``) +- Share internet access over USB when the Axon Lite is connected via Ethernet +- Service control via both TUI and systemd + +Getting latest vicharak-config +------------------------------ + +USB-tethering can be enabled through latest update of vicharak-config. To get latest version of vichrak-config, run below commands: + + .. code:: + + sudo apt update + sudo apt install vicharak-config + +This feature is fully supported only on the latest Linux kernel. We recommend upgrading to the latest kernel version for proper functionality. + + .. code:: + + sudo apt update + sudo apt install u-boot-menu + sudo apt install linux-image-6.1.75-axon-lite linux-headers-6.1.75-axon-lite + sudo reboot + + + +Accessing USB Tethering Controls +-------------------------------- + +From the TUI (``vicharak-config`` interface), go to:: + + > Advanced Options + > USB Tethering + +You can enable/disable the Tethering Service. + +Service Control via systemd +--------------------------- + +The service controlling USB tethering is:: + + advanced-usb@tethering.service + +**Commands:** + +- Stop the service: + + .. code-block:: bash + + sudo systemctl stop advanced-usb@tethering.service + +- Start the service: + + .. code-block:: bash + + sudo systemctl start advanced-usb@tethering.service + +- Disable autostart on boot: + + .. code-block:: bash + + sudo systemctl disable advanced-usb@tethering.service + +- Enable autostart on boot: + + .. code-block:: bash + + sudo systemctl enable advanced-usb@tethering.service + +SSH Access via USB +------------------ + +Once enabled, connect your host PC to the **TYPE-C0** port of the Axon Lite and SSH directly: + +.. code-block:: bash + + ssh vicharak@10.42.0.1 + +This eliminates the need for serial console or IP discovery. + +Internet Sharing over USB +-------------------------- + +If your Axon Lite is connected to the internet via Ethernet, the host PC will also get internet access via the USB connection. + +This is achieved using appropriate **IP forwarding and iptables NAT rules**, which are applied automatically by the ``advanced-usb@tethering.service``. + +Technical Details +----------------- + +- **IP Address:** Axon Lite (USB device): ``10.42.0.1``, Host (PC): typically ``10.42.0.2`` +- **iptables Rules:** Automatically configured to allow NAT routing from USB (``usb0``) to Ethernet (``end0``) +- **IP Forwarding:** Automatically enabled during tethering diff --git a/source/vicharak_sbcs/axon-lite/axon-lite-os-configuration/vicharak-config/vicharak-update.rst b/source/vicharak_sbcs/axon-lite/axon-lite-os-configuration/vicharak-config/vicharak-update.rst new file mode 100644 index 00000000..cc3b0bbc --- /dev/null +++ b/source/vicharak_sbcs/axon-lite/axon-lite-os-configuration/vicharak-config/vicharak-update.rst @@ -0,0 +1,116 @@ +Vicharak Update System +====================== + +Overview +-------- + +The **Vicharak Update System** provides a mechanism to remotely update system hosted on the Vicharak +update server. + +The update framework performs the following tasks: + +* Checks whether an update is available +* Maintains update history + +Steps to follow for Update Vicharak Board +------------------------------------------ + +1. Open a terminal window (``Ctrl+Alt+T``). + +2. Run command ``sudo vicharak-config`` in it. + +3. Select ``System Maintenance`` option in it by pressing ``Enter`` key. + +.. code-block:: console + + ┌───────────────────────────────────┤ VICHARAK_CONFIG ├────────────────────────────────────┐ + │ Please select an option below: │ + │ │ + │ System Maintenance │ + │ Hardware │ + │ Overlays │ + │ Connectivity │ + │ Advanced Options │ + │ User Settings │ + │ Localization │ + │ About │ + │ │ + │ │ + │ │ + └──────────────────────────────────────────────────────────────────────────────────────────┘ + +4. Select ``Vicharak Update`` option. + +.. code-block:: console + + ┌───────────────────────────────────┤ VICHARAK_CONFIG ├────────────────────────────────────┐ + │ System Maintenance │ + │ │ + │ Vicharak Update │ + │ │ + │ │ + │ │ + │ │ + │ │ + │ │ + └──────────────────────────────────────────────────────────────────────────────────────────┘ + +5. Select ``Check & Apply Update`` option. + +.. code-block:: console + + ┌───────────────────────────────────┤ VICHARAK_CONFIG ├────────────────────────────────────┐ + │ Vicharak Update Menu │ + │ │ + │ Check & Apply Updates │ + │ │ + │ │ + │ │ + │ │ + │ │ + │ │ + └──────────────────────────────────────────────────────────────────────────────────────────┘ + +6. The update system shows a terminal progress bar during upgradation process. + +Example: + +:: + + Progress : [###############-------------] 45% (4/9) + + + +System Log +----------- + +Logs are written to: + +:: + + /opt/vicharak-update/logs/update.log + + +The menu performs: + +* Update availability check +* Progress display +* Success notification + +Update Vicharak Kernel Using Command +------------------------------------- + +To get ``KERNEL_VERSION``, Run below command in vicharak board. + +.. code-block:: + + uname -r + +Run commands below to upgrade kernel. + +.. code-block:: + + sudo apt update + sudo apt install linux-image- + +Currently, **5.10.XXX** and **6.1.75** kernel supported in Axon Lite Device. diff --git a/source/vicharak_sbcs/axon-lite/axon-lite-os-configuration/vicharak-dao/index.rst b/source/vicharak_sbcs/axon-lite/axon-lite-os-configuration/vicharak-dao/index.rst new file mode 100644 index 00000000..68a06c28 --- /dev/null +++ b/source/vicharak_sbcs/axon-lite/axon-lite-os-configuration/vicharak-dao/index.rst @@ -0,0 +1,194 @@ +:orphan: + +###################################################### +Vicharak-DAO : Remote Access for Vicharak Computers +###################################################### + +.. warning:: + + **Beta Version** : 1.1.0 + +Through `Vicharak-Dao `_, users can connect and enable secure, hassle-free **remote access** to their Vicharak devices from **anywhere in the world**. +It lets you access the command-line interface of your device directly from your web browser, making remote management quick and reliable. +Using **WebRTC**, it ensures real-time, low-latency, and secure communication between your device and browser. + +.. .. image:: /_static/images/rk3576-axon-lite/vicharak-dao-axon-lite1.webp +.. :width: 98% + + +Prerequisites +============== + +Before you begin, ensure that your Vicharak Board is: + +- Connected to the Internet via **Wi-Fi** or **Ethernet** + + +Install Vicharak-DAO on Vicharak Board +======================================= + +On your Vicharak Board, update your system and install **Vicharak-DAO** using: + +.. code-block:: bash + + sudo apt update + sudo apt upgrade + sudo apt install vicharak-dao + + +====================================================== +Steps to be Done on Vicharak-DAO Website +====================================================== + +Register Your Account +---------------------- + +1. Open the `Vicharak-DAO Website `_ in your web browser. +2. **Register** using your **Google** or **GitHub** account. + +.. image:: /_static/images/dao-1.webp + :width: 80% + +.. image:: /_static/images/dao-2.webp + :width: 80% + + +Add Vicharak Device +--------------------- + +You can add your device using either **Token** or **Local Network**. + + +.. warning:: + + **Token** : When Vicharak device is connected to Display Monitor (HDMI, Type-C DP etc. ) or SSH through internet. + + **Local Network** : When Vicharak device and Host System both are on same network. + +| +**Method 1: Add Using Token** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +1. On the website, click **Add Device** → **Token** → **Connect Device**. + +.. image:: /_static/images/dao-3.webp + :width: 80% + +.. image:: /_static/images/dao-4.webp + :width: 80% + +.. note:: + + Tokens let you add devices securely from **any network** — + the device and host computer **do not need to be on the same network**. + +2. Enter a name for your device. + +.. image:: /_static/images/dao-6.webp + :width: 80% + +3. A **token** will be generated for your device. Copy it. + +.. image:: /_static/images/dao-5.webp + :width: 80% + +4. `Add Token in Vicharak Device <#steps-to-be-done-on-vicharak-board>`_ + +| +**Method 2: Add Locally** +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +1. On the website, click **Add Device** → **Locally** → **Connect Device**. + +.. image:: /_static/images/dao-9.webp + :width: 80% + +2. A list of devices connected to the **same network** will appear. + +.. image:: /_static/images/dao-10.webp + :width: 80% + + +3. Select your device and enter its configuration details like custom device name for your reference, username and password. + +.. note:: + Default credentials: + - **Username**: ``vicharak`` + - **Password**: ``12345`` + +.. image:: /_static/images/dao-11.webp + :width: 80% + +====================================================== +Steps to be Done on Vicharak Board +====================================================== + +Add Token (For Token Method) +------------------------------ + +If you used the **Token** method on the website, you now need to add that token to your device. + +.. note:: + + You can access your Vicharak Board using: + + - **Micro HDMI** — Ports Tx0 or Tx1 + - **Serial Console** — See `Documentation `_ (Baudrate: 1500000) + - **SSH** — See `Documentation `_ (``vicharak@``) — both devices must be on the **same network**. + + Default credentials: + - **Username**: ``vicharak`` + - **Password**: ``12345`` + +Run the following command, replacing **** with the copied token: + +.. code-block:: bash + + sudo dao add + +Return to the Vicharak-DAO website and **reload** the dashboard page. +Your device will now appear in the list. + + +====================================================== +Manage Your Devices +====================================================== + +To open a remote terminal session: + +1. In the `Vicharak-DAO Website `_, locate your device. +2. Click the **Connect ( >_ )** button. + +.. image:: /_static/images/dao-7.webp + :width: 80% + +A secure terminal console will appear in your browser. + +.. image:: /_static/images/dao-8.webp + :width: 80% + + +====================================================== +Update / Uninstall +====================================================== + +Update your installation: + +.. code-block:: bash + + sudo apt update + sudo apt upgrade + +Uninstall completely: + +.. code-block:: bash + + sudo apt purge vicharak-dao + + +====================================================== +Troubleshooting +====================================================== + +If you face any difficulties using ``vicharak-dao``, please post your query on the +`Vicharak Forum `_ for community and developer support. diff --git a/source/vicharak_sbcs/axon-lite/axon-lite-os-configuration/wifi-hotspot.rst b/source/vicharak_sbcs/axon-lite/axon-lite-os-configuration/wifi-hotspot.rst new file mode 100644 index 00000000..3052d7ae --- /dev/null +++ b/source/vicharak_sbcs/axon-lite/axon-lite-os-configuration/wifi-hotspot.rst @@ -0,0 +1,39 @@ +.. _wifi-hotspot: + +################## +Set WiFi hotspot +################## + +This documenatation will guide, how to set hotspot manully with configuration user provide. + + +Using Command +================= + +Set SSID and Password +-------------------- + +.. code:: + + sudo nmcli device wifi hotspot ifname wlan0 con-name Axon-Lite-Host ssid Axon-Lite-Host password 12345678 + +Sets the Wi-Fi security method to use WPA-PSK (Wi-Fi Protected Access Pre-Shared Key ) +-------------------------------------------------------------------------------------- + +.. code:: + + sudo nmcli connection modify Axon-Lite-Host 802-11-wireless-security.key-mgmt wpa-psk + +Set a static IPv4 address +------------------------- + +.. code:: + + sudo nmcli connection modify Axon-Lite-Host ipv4.addresses 10.9.8.7/24 + +Brings up the network connection +-------------------------------- + +.. code:: + + sudo nmcli connection up Axon-Lite-Host diff --git a/source/vicharak_sbcs/axon-lite/axon-lite-overview.rst b/source/vicharak_sbcs/axon-lite/axon-lite-overview.rst new file mode 100644 index 00000000..58f97a7e --- /dev/null +++ b/source/vicharak_sbcs/axon-lite/axon-lite-overview.rst @@ -0,0 +1,120 @@ +Overview +======== + +Axon Lite is designed to cater to a diverse audience, including but not limited to: + +**Software Developers:** + - **Leverage**: Octa-core CPU ( 4x, Arm Cortex A76 ( 2.4 Ghz ) & 4x, Arm Cortex A55 ), multi-OS support + - **Ideal For**: Application development, performance optimization, AI-driven software + - **Cache**: 64KB L1 data & instruction cache ( seperate ), 512KB L2 Cache for Cortex A76 also 32KB L1 data & instruction cache ( seperate ) , 128KB L2 cache for A55 + +**Researchers:** + - **Leverage**: RK3576 SoC, robust NPU, extensive connectivity + - **Ideal For**: Custom algorithms, experiments, AI and machine learning prototyping + +**Hardware Designers:** + - **Leverage**: 40-Pin GPIO header, multiple interfaces + - **Ideal For**: Developing, testing, and rapid prototyping of hardware designs + +**Hobbyist Users:** + - **Leverage**: Versatile interfaces, compact design + - **Ideal For**: Robotics, home automation, multimedia centers, DIY electronics + +**AI and Machine Learning Enthusiasts:** + - **Leverage**: 6 TOPS NPU, major deep learning frameworks support + - **Ideal For**: Machine learning applications, computer vision tasks + +**Multimedia Professionals:** + - **Leverage**: High-definition video, HDMI for 4K output, MIPI DSI for up to 2K output, USB-C DP for 1080p + - **Ideal For**: Video editing, streaming, digital signage + +**Educators and Students:** + - **Leverage**: Hands-on learning tool + - **Ideal For**: Teaching computing technologies, programming, hardware-software integration + +**IoT Implementers:** + - **Leverage**: WiFi 6, Bluetooth 5.2, peripheral interfaces + - **Ideal For**: IoT projects, sensor integration, smart home solutions + +**Gaming and Entertainment:** + - **Leverage**: ARM Mali-G52 MC3 GPU + - **Ideal For**: Superior gaming experience, multimedia playback + - **Drivers**: OpenGL ES 1.1, 2.0 and 3.2, OpenCL 2.2, Vulkan1.2 etc. + +Block Diagram +------------- + +.. image:: ../../_static/images/rk3576-axon-lite/Axon-lite_Block_diagram.webp + :width: 100% + +Features +-------- + +The Axon Lite Single Board Computer (SBC) offers a range of hardware features, including: + +.. list-table:: + :widths: 10 50 + :header-rows: 1 + :class: feature-table + + * - **Type** + - **Feature** + * - Display + - | 1 X micro HDMI 2.1 TX + | 1 X TYPE-C Alt DisplayPort (4 lane) + | 1 X MIPI DSI (4 lane) + * - Audio + - | Audio Codec ES8316 + | 1 X Audio Jack + | HDMI and DP audio output + * - Wireless + - FG6252BSRB-03 WiFi 6 and Bluetooth 5.3 module + * - Ethernet + - 1 X Gigabit Ethernet (PHY 1000M) with PoE support + * - Camera + - | 1 X MIPI CSI [4 lanes] + | 4 X MIPI CSI [2 lanes] + * - PCIE + - | PHY0: 1 X PCIE 2.0 (5GT/s) via B2B Connector + | PHY1: 1 X PCIE 2.1 (x1 lane) via B2B Connector for Daughter Board + * - SATA + - 1 X SATA 3.1 (6GT/s) via B2B Connector (multiplexed with PCIe 2.0) + * - USB + - | 1 X USB Host 2.0 (via CH334F HUB) + | 1 X TYPE-C Alt DisplayPort + | USB 3.0 via Daughter Board + * - Real time clock + - RTC support via built-in battery interface + +Physical Information +-------------------- + +.. list-table:: + :header-rows: 1 + + * - **Property** + - **Details** + * - Weight + - 69 g + * - Length + - 93 mm + * - Width + - 75 mm + * - Height + - 21.125 mm + +.. image:: ../../_static/images/rk3576-axon-lite/axon-lite-dimension.webp + :width: 75% + +.. tip:: + + For more information on the Axon Lite GPIOs, see :ref:`axon-lite-gpio-description` + +| + +.. seealso:: + + :ref:`Getting Started with Vicharak Axon Lite ` + + :ref:`Downloads section ` + diff --git a/source/vicharak_sbcs/axon-lite/axon-lite-sdcard-boot.rst b/source/vicharak_sbcs/axon-lite/axon-lite-sdcard-boot.rst new file mode 100644 index 00000000..cf0c4e31 --- /dev/null +++ b/source/vicharak_sbcs/axon-lite/axon-lite-sdcard-boot.rst @@ -0,0 +1,271 @@ +:orphan: + +.. _axon-lite-sdcard-boot: + +Booting from SD-card +==================== + +**To make a SD-card bootable, follow these steps:** + +Format the SD-card +------------------ + +Using a suitable file system (such as FAT32 or EXT4) format the SD-card. + +.. tab-set:: + + .. tab-item:: Windows + + 1. Insert the **SD-card** into your computer. Use a USB-to-SD adapter if required. + + 2. Open the **File Explorer** and right-click on the SD-card. + + 3. Select **Format** from the drop-down menu. + + 4. Select the desired file system (e.g., FAT32) and click **Start**. + + 5. Click **OK** to confirm the formatting. + + .. tab-item:: Linux + + .. tab-set:: + .. tab-item:: Debian Disks (GUI) + + 1. Insert the **SD-card** into your computer. Use USB-to-SD adapter if required. + + 2. Open the **Disks** application if you are using a GUI. + + .. image:: ../../_static/images/Disks-overview.webp + :width: 50% + + | + + 3. Select the SD-card from the left panel. + + .. image:: ../../_static/images/Didsk-sdcard-show.webp + :width: 50% + + | + + 4. if partition is already present in SD Card then, Click on the **Delete selected partition** icon and select **Delete Partition**. + + .. image:: ../../_static/images/Delete-selected-partition.webp + :width: 50% + + | + + 5. After Deleting **All partition** we can see something like below. + + .. image:: ../../_static/images/deleted-all-patrtition-in-sdcard.webp + :width: 50% + + | + + 6. Click on **Next** button. + + .. image:: ../../_static/images/Disk-next.webp + :width: 50% + + | + + 7. Select the desired file system (e.g., FAT32) and click **Create**. + + .. image:: ../../_static/images/create-format-of-ext4.webp + :width: 50% + + | + + 8. After the successful completion of the process, the **SD card** is formatted with the selected partition. + + .. image:: ../../_static/images/format-complate.webp + :width: 50% + + | + + .. tab-item:: Gnome Disks (GUI) + + 1. Insert the **SD-card** into your computer. Use USB-to-SD adapter if required. + + 2. Open the **Disks** application if you are using a GUI. + + 3. Select the SD-card from the left panel. + + 4. Click on the **Additional partition options** icon and select **Format Partition**. + + 5. Select the desired file system (e.g., FAT32) and click **Next**. + + 6. Click **Format** to confirm the formatting. + + .. tab-item:: GNU parted (CLI) + + 1. Insert the **SD-card** into your computer. Use USB-to-SD adapter if required. + + 2. Open the **terminal** and run the following command to list the available disks: + + .. code-block:: console + + sudo parted /dev/sdX + + .. note:: + | You can use the **lsblk** command to list the available disks. + | In the above command, sd**X** is the name of the Storage drive. + | **`X`** is the number of the Storage drive, it starts from a. + + .. image:: ../../_static/images/parted-overview.webp + :width: 50% + + | + + 3. the following command to **print** the partition table: + + .. code-block:: console + + (parted) print + + | + + .. image:: ../../_static/images/parted-partitions-list.webp + :width: 50% + + 4. **Delete** the existing partitions using the following command: + + .. code-block:: console + + (parted) rm 1 + (parted) rm 2 + ... + + 5. After deleting all the partitions, the partition table should look like this: + + .. image:: ../../_static/images/parted-deleted-partitions.webp + :width: 50% + + | + + 6. Finally, **quit** the parted tool using the following command: + + .. code-block:: console + + (parted) quit + + .. tab-item:: UNIX fdisk utility (CLI) + + 1. Insert the **SD-card** into your computer. + + 2. Open the **terminal** and run the following command to list the available disks: + + .. code-block:: console + + sudo fdisk /dev/sdX + + .. note:: + | You can use the **lsblk** command to list the available disks. + | In the above command, sd**X** is the name of the Storage drive. + | **`X`** is the number of the Storage drive, it starts from a. + + 3. Press **d** to delete the existing partition. Do this for all the partitions. + + 4. After deleting all the partitions, the partition table should be empty. + + 5. Finally, press **w** to write the changes to the disk. + + +Download the bootable image +--------------------------- + +Obtain the bootable image or operating system files for your desired platform. + +.. note:: + | For Axon Lite, you can download the bootable image from the :ref:`Downloads ` page. + | The bootable image is available in the `SD-card` section. + +Write the image to the SD-card +------------------------------ + +.. warning:: + | Make sure you have selected the correct SD-card before writing the image. + | Writing the image to the wrong SD-card will erase all the data on the SD-card. + +You can use any disk imaging tool such as Etcher or Win32 Disk Imager to write the image to the SD-card. + +For demonstration purposes, we will use the **Balena Etcher tool** to write the image to the SD-card. + +.. tab-set:: + + .. tab-item:: Balena Etcher (GUI) + + 1. Open the **Balena Etcher** tool. + + .. image:: ../../_static/images/balena-start.webp + :width: 50% + + | + + 2. Click on **Select Image** and select the image file. + + .. image:: ../../_static/images/balena-select-image.webp + :width: 50% + + | + + 3. Click on **Select Target** and select the SD-card. + + .. image:: ../../_static/images/balena-select-storage.webp + :width: 50% + + | + + 4. Click on **Flash** to start writing the image to the SD-card. + + .. image:: ../../_static/images/balena-start-flash.webp + :width: 50% + + | + + 5. Once the writing process is complete, click on **Done**. + + .. image:: ../../_static/images/balena-flash-complete.webp + :width: 50% + + .. tab-item:: UNIX **dd** command (CLI) + + 1. Open the **terminal** and run the following command to write the image to the SD-card: + + .. code-block:: console + + sudo dd if=/path/to/image of=/dev/sdX bs=4M status=progress; sync + + .. note:: + | Replace **/path/to/image** with the path to the image file. + | You can use the **lsblk** command to list the available disks. + | In the above command, sd**X** is the name of the Storage drive. + | **`X`** is the number of the Storage drive, it starts from a. + + 2. Wait for the writing process to complete. + + 3. Once the writing process is complete, Safely eject the **SD-card** from your computer. + +Boot from the SD-card +--------------------- + +After writing the image to the SD-card, follow these steps to boot from the SD-card: + +1. Safely eject the **SD-card** from your computer. + +2. Insert the **SD-card** into your Axon Lite SBC. + +.. .. image:: ../../_static/images/rk3576-axon-lite/axon-lite-sdcard-boot.webp +.. :width: 45% + +| + +3. **Power-on** the device to initiate the boot process from the SD-card. + +Connect the PD cable to the Axon Lite SBC and the PD adapter to the power socket. +Once the power is connected, the board will automatically turn on. + +.. danger:: + 12V Power Input only! Do not use 5V power input. + +.. .. image:: ../../_static/images/rk3576-axon-lite/axon-lite-power-option.webp +.. :width: 45% diff --git a/source/vicharak_sbcs/axon-lite/axon-lite-video/index.rst b/source/vicharak_sbcs/axon-lite/axon-lite-video/index.rst new file mode 100644 index 00000000..bce77c72 --- /dev/null +++ b/source/vicharak_sbcs/axon-lite/axon-lite-video/index.rst @@ -0,0 +1,11 @@ +========================== +Axon Lite Video Interface +========================== + +Axon Lite supports multiple MIPI interfaces to connect various types of image sensors and cameras. + + +.. toctree:: + :maxdepth: 4 + +.. Video Input Capabilities diff --git a/source/vicharak_sbcs/axon-lite/axon-lite-video/video-encode-decode/axon-lite-video-decode.rst b/source/vicharak_sbcs/axon-lite/axon-lite-video/video-encode-decode/axon-lite-video-decode.rst new file mode 100644 index 00000000..20d94ba3 --- /dev/null +++ b/source/vicharak_sbcs/axon-lite/axon-lite-video/video-encode-decode/axon-lite-video-decode.rst @@ -0,0 +1,146 @@ +############# +Video Decoder +############# + +.. warning:: + + We recommend to use Vicharak 6.1 kernel and latest `Debian 13 trixie + `_ , in order to correctly install FFmpeg. Flash Image + using this :doc:`Documentation
` + + .. code:: + + sudo apt update + sudo apt reinstall linux-image-6.1.75-axon-lite linux-headers-6.1.75-axon-lite + +.. note:: + + The RK3576-based Axon Lite board supports hardware encoding via the MPP library. To use hardware encoding on Axon Lite, you must install FFmpeg using commands given below. The generic FFmpeg package does not support Rockchip hardware encoding/decoging. + + .. raw:: html + +
+ + Install FFmpeg with **Hardware Encoding/Decoding** and **RGA Filter** support using the following commands: + + .. code-block:: console + + sudo apt update + sudo apt install ffmpeg + +Introduction +============ +FFmpeg is a powerful open-source multimedia framework capable of recording, converting, streaming, and processing audio and video files. It supports a wide range of formats and codecs, making it a go-to solution for media handling across platforms. + +On the Axon Lite Board, FFmpeg is compiled with hardware-accelerated encoding/decoding and RGA filters, leveraging the RK3576 SoC to deliver high-performance processing for high-resolution videos. + +Basic FFmpeg Commands +===================== +1. List available decoders +-------------------------- + +This command lists all available Rockchip MPP-based hardware decoders. On Axon Lite, supported decoders include H.263, H.264, H.265 (HEVC), MJPEG, VP8 and VP9. + +.. note:: + + AV1 decoding using ``av1_rkmpp`` is not yet supported. You may use the ``libdav1d`` decoder as an alternative. + +.. code-block:: console + + vicharak@vicharak:~$ ffmpeg -hide_banner -decoders | grep rkmpp + +.. code-block:: console + + V..... av1_rkmpp Rockchip MPP AV1 decoder (codec av1) + V..... h263_rkmpp Rockchip MPP H263 decoder (codec h263) + V..... h264_rkmpp Rockchip MPP H264 decoder (codec h264) + V..... hevc_rkmpp Rockchip MPP HEVC decoder (codec hevc) + V..... mjpeg_rkmpp Rockchip MPP MJPEG decoder (codec mjpeg) + V..... mpeg1_rkmpp Rockchip MPP MPEG1VIDEO decoder (codec mpeg1video) + V..... mpeg2_rkmpp Rockchip MPP MPEG2VIDEO decoder (codec mpeg2video) + V..... mpeg4_rkmpp Rockchip MPP MPEG4 decoder (codec mpeg4) + V..... vp8_rkmpp Rockchip MPP VP8 decoder (codec vp8) + V..... vp9_rkmpp Rockchip MPP VP9 decoder (codec vp9) + +**2. Check available options for a decoder** +--------------------------------------------- +This will show all the flags which can be used with a particular decoder. + +.. code-block:: console + + vicharak@vicharak:~$ ffmpeg -hide_banner -h decoder= + +```` can be replaced by any hardware or software decoder. + +3. Convert encoded video to a raw video +--------------------------------------- + +.. warning:: + + Raw video files are extremely large in size. Even with the -t flag limiting the duration to 10 seconds, the raw video still occupied 8.8 GB. If your goal is just to play the video, use ffplay. However, if you actually need to decode the video, ensure that your system has sufficient storage space. + +This command converts an encoded video to a raw video. Use the ``ffprobe`` command to retrieve parameters like -pix_fmt, resolution, and more. + +.. code-block:: console + + vicharak@vicharak:~$ ffprobe -hide_banner input_hevc.mp4 + +.. code-block:: console + + Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input_hevc.mp4': + Metadata: + major_brand : isom + minor_version : 512 + compatible_brands: isomiso2mp41 + encoder : Lavf58.76.100 + Duration: 00:03:08.96, start: 0.000000, bitrate: 4476 kb/s + Stream #0:0[0x1](und): Video: hevc (Main) (hvc1 / 0x31637668), yuv420p(tv, bt709, progressive), 3840x2160 [SAR 1:1 DAR 16:9], 4473 kb/s, 25 fps, 25 tbr, 12800 tbn (default) + Metadata: + handler_name : ISO Media file produced by Google Inc. + vendor_id : [0][0][0][0] + +We get the following information from the ``ffprobe`` command: + +.. csv-table:: + :header: "Property", "Value" + :widths: 20, 20 + + **Encoding Method**, HEVC + **Pixel Format**, yuv420p + **Resolution**, 3840x2160 + **Video Bitrate**, 4473 kb/s + **Frame Rate**, 25 fps + +The following command decodes the HEVC video into a raw YUV format using the Rockchip hardware decoder: + +.. code-block:: console + + vicharak@vicharak:~$ ffmpeg -nostdin -hide_banner -c:v hevc_rkmpp \ + -i output_hevc.mp4 -t 10 -f rawvideo -pix_fmt yuv420p output.yuv + +4. Decoding and playing a video +------------------------------- +You can decode and play a video using ffplay, ffmpeg, or any other player such as VLC. + +.. tab-set:: + + .. tab-item:: Using FFplay + + .. code-block:: console + + vicharak@vicharak:~$ ffplay -fflags nobuffer -flags low_delay input_video + + .. tab-item:: Using FFmpeg + + .. code-block:: console + + vicharak@vicharak:~$ ffmpeg -fflags nobuffer -flags low_delay -i input_video -f sdl - + + .. tab-item:: Using VLC + + .. code-block:: console + + vicharak@vicharak:~$ vlc input_video + +.. note:: + **** can refer to any video input source, such as a local file (e.g. **.mp4**), a UDP stream (e.g. **udp://@:1234**), an RTSP stream (**rtsp://:8554/live.stream**), or a live camera feed (e.g. **/dev/video0** or a **webcam/USB camera**). diff --git a/source/vicharak_sbcs/axon-lite/axon-lite-video/video-encode-decode/axon-lite-video-encode.rst b/source/vicharak_sbcs/axon-lite/axon-lite-video/video-encode-decode/axon-lite-video-encode.rst new file mode 100644 index 00000000..1402e5f0 --- /dev/null +++ b/source/vicharak_sbcs/axon-lite/axon-lite-video/video-encode-decode/axon-lite-video-encode.rst @@ -0,0 +1,176 @@ +############# +Video Encoder +############# + +.. warning:: + + We recommend to use Vicharak 6.1 kernel and latest `Debian 13 trixie + `_ , in order to correctly install FFmpeg. Flash Image + using this :doc:`Documentation
` + + .. code:: + + sudo apt update + sudo apt reinstall linux-image-6.1.75-axon-lite linux-headers-6.1.75-axon-lite + +.. note:: + + The RK3576 based Axon Lite board supports hardware encoding with the help of the MPP library. In order to use hardware encoding in Axon Lite you will need to install ffmpeg provided at this link. Generic ffmpeg will not provide Rockchip hardware encoding support. + + .. raw:: html + +
+ + Install ffmpeg with **Hardware Encoding/Decoding** and **RGA Filters** support using the following command: + + .. code-block:: console + + sudo apt update + sudo apt install ffmpeg + +Introduction +============ +FFmpeg is a powerful open-source multimedia framework capable of recording, converting, streaming, and processing audio and video files. It supports a vast range of formats and codecs, making it a go-to solution for media handling across platforms. + +For the Axon Lite Board, FFmpeg is compiled with hardware-accelerated encoding/decoding and RGA filters, leveraging the RK3576 SoC to deliver high-performance processing of high-resolution videos. + +Basic FFmpeg Commands +===================== +1. List available encoders +-------------------------- +This command lists the available Rockchip MPP-based hardware encoders. On Axon Lite, H.264, H.265 (HEVC), and MJPEG hardware-accelerated encoders are supported. + +.. code-block:: console + + vicharak@vicharak:~$ ffmpeg -hide_banner -encoders | grep rkmpp + +.. code-block:: console + + V..... h264_rkmpp Rockchip MPP H264 encoder (codec h264) + V..... hevc_rkmpp Rockchip MPP HEVC encoder (codec hevc) + V..... mjpeg_rkmpp Rockchip MPP MJPEG encoder (codec mjpeg) + +2. Check available options for an encoder +----------------------------------------- +This will show all the flags that can be used with a particular encoder. + +.. code-block:: console + + vicharak@vicharak:~$ ffmpeg -hide_banner -h encoder= + +Replace ```` with any hardware or software encoder. + +3. Encoding a raw file (.yuv) +----------------------------- +This command converts a raw file (.yuv) to the specified encoded format. + +.. code-block:: console + + vicharak@vicharak:~$ ffmpeg -f rawvideo -pix_fmt yuv420p \ + -s:v 3840x2026 -r 25 -i raw_video.yuv -c:v h264_rkmpp \ + -b:v 10M -maxrate 12M -minrate 8M -g 50 \ + h264_encoded_video.mp4 + +The command above encodes raw_video.yuv with a pixel format of yuv420p and resolution 3840x2026 to a 25 FPS H.264-encoded video. Below is a description of the flags used: + +.. list-table:: + :header-rows: 1 + :widths: 30 70 + + * - Flag + - Description + * - ``-f rawvideo`` + - Tells FFmpeg that the input file is a raw video stream without any container or headers. + * - ``-pix_fmt yuv420p`` + - Specifies the pixel format of the raw input video. Other options include ``yuv422p``, ``rgb24``, ``bgra``, etc. + * - ``-s:v 3840x2026`` + - Sets the resolution (frame size) of the input video. + * - ``-r 30`` + - Sets the frame rate (FPS) of the input video. + * - ``-i input.raw`` + - Specifies the input file name. + * - ``-c:v libx264`` + - Selects the video codec for encoding. + * - ``-b:v 10M`` + - Sets the target bitrate to 10 Mbps for the video stream. + * - ``-maxrate 12M`` + - Sets the maximum bitrate to 12 Mbps to limit bitrate peaks. + * - ``-minrate 8M`` + - Ensures the encoder maintains at least 8 Mbps. + * - ``-g 50`` + - Sets the GOP (Group of Pictures) size, inserting a keyframe every 50 frames. + * - ``h264_encoded_video.mp4`` + - Specifies the name of the output (encoded) file. + + +.. note:: + + Ensure you provide correct values for flags like pix_fmt, resolution, codec, and FPS to avoid encoding errors. + +4. Encoding and Streaming a raw file +------------------------------------ +This command encodes a raw video (.yuv) and streams it via UDP to an IP address in real time using the ``-re`` flag. The stream is sent to UDP port ``1234`` on the device with IP ``192.168.1.58``. The ``-f mpegts`` flag specifies the MPEG-TS container format. + +.. code-block:: console + + vicharak@vicharak:~$ ffmpeg -re -f rawvideo -pix_fmt yuv420p \ + -s:v 3840x2026 -r 25 -i raw_video.yuv -c:v h264_rkmpp -b:v 10M \ + -maxrate 12M -minrate 8M -g 50 -f mpegts udp://192.168.1.58:1234 + +You can receive and play the stream on the other device using FFmpeg or FFplay: + +.. tab-set:: + + .. tab-item:: Using FFmpeg + + .. code-block:: console + + vicharak@vicharak:~$ ffmpeg -fflags nobuffer -flags low_delay -i udp://@:1234 -f sdl - + + .. tab-item:: Using FFplay + + .. code-block:: console + + vicharak@vicharak:~$ ffplay -fflags nobuffer -flags low_delay udp://@:1234 + +5. Transcoding a video +---------------------- +FFmpeg can be used to transcode a video, i.e. change its encoding format (ex. AV1 to H.265). + +.. code-block:: console + + vicharak@vicharak:~$ ffmpeg -i input.mkv -c:v hevc_rkmpp output_hevc.mp4 + +This command decodes the original encoding (e.g., AV1) and re-encodes it to H.265 (HEVC). +Internally, the flow is: ``AV1 → raw video → H.265``. + +To stream the transcoded video via UDP or other protocols, add the ``-f`` flag. + +6. Streaming over RTSP +------------------------ +You can stream a raw or encoded video using RTSP. Follow these steps to create an RTSP server and stream to it: + +a. Start a local RTSP server: + +.. code-block:: console + + wget https://github.com/bluenviron/mediamtx/releases/download/v1.12.3/mediamtx_v1.12.3_linux_amd64.tar.gz + tar xvf mediamtx_v1.12.3_linux_amd64.tar.gz + chmod +x mediamtx + ./mediamtx + +b. Stream from Axon Lite to the RTSP Server: + +.. code-block:: console + + vicharak@vicharak:~$ ffmpeg -re -i input.mp4 -c:v h264_rkmpp \ + -b:v 10M -maxrate 12M -minrate 8M -g 50 \ + -f rtsp rtsp://:8554/live.stream + +c. Play the stream on a network-connected device (e.g., using VLC): + +.. code-block:: console + + vlc rtsp://:8554/live.stream + +You may also use FFplay, FFmpeg, or any compatible RTSP player. diff --git a/source/vicharak_sbcs/axon-lite/axon-lite-video/video-encode-decode/index.rst b/source/vicharak_sbcs/axon-lite/axon-lite-video/video-encode-decode/index.rst new file mode 100644 index 00000000..4c7a3a8f --- /dev/null +++ b/source/vicharak_sbcs/axon-lite/axon-lite-video/video-encode-decode/index.rst @@ -0,0 +1,13 @@ +:orphan: + +================================== +Axon Lite Video Encoder/Decoder Support +================================== + +.. toctree:: + :maxdepth: 2 + + + Video Encoder + Video Decoder + diff --git a/source/vicharak_sbcs/axon-lite/axon-lite-video/video-input/index.rst b/source/vicharak_sbcs/axon-lite/axon-lite-video/video-input/index.rst new file mode 100644 index 00000000..fca1ef50 --- /dev/null +++ b/source/vicharak_sbcs/axon-lite/axon-lite-video/video-input/index.rst @@ -0,0 +1,13 @@ +:orphan: + +========================== +Axon Lite Video Input Interface +========================== + +Axon Lite supports multiple MIPI interfaces to connect various types of image sensors and cameras. + +.. toctree:: + :maxdepth: 2 + + MIPI Camera Interface 1.2/2.0 + diff --git a/source/vicharak_sbcs/axon-lite/axon-lite-video/video-input/mipi.rst b/source/vicharak_sbcs/axon-lite/axon-lite-video/video-input/mipi.rst new file mode 100644 index 00000000..7fd6ea72 --- /dev/null +++ b/source/vicharak_sbcs/axon-lite/axon-lite-video/video-input/mipi.rst @@ -0,0 +1,433 @@ +###################### +MIPI Camera Interface +###################### + +.. .. image:: /_static/images/rk3576-axon-lite/axon-lite-multiCam.webp +.. :width: 65% + +Hardware Required +------------------ + +- Camera ( OV5647 or any other RPI supported camera) +- Vicharak Flex Cable 40-Pin 0.4mm Pitch Cable (Golden Color) +- Vicharak Camera PCB +- FPC50 15 Pin 1mm Pitch Cable + +Steps to follow +---------------- +1. Connect the hardware +2. Configure the overlays +3. Run Camera + +Pre-Requisites +-------------- +1. You must update the kernel using the command below. + +.. code-block:: + + sudo apt update + sudo apt upgrade + +2. Install ffmpeg and v4l2 tools + +.. code-block:: + + sudo apt install ffmpeg + sudo apt install v4l-utils + +2. Ensure your axon-lite is powred off before connecting the camera + +How to Attach Camera to Axon Lite +---------------------------- + +1. First, Connect Vicharak Flex Cable To Vicharak CAM PCB Connector. + +.. .. image:: /_static/images/rk3576-axon-lite/axon-lite-camera-start.gif +.. :width: 40% + +.. danger:: + Make sure to connect the Vicharak flex cable's AXON LITE PCB side connector to the AXON LITE board, and the display/camera side connector to the Vicharak CAM PCB. + +.. .. image:: /_static/images/rk3576-axon-lite/axon-lite-camera-2.gif +.. :width: 40% + +2. Attach Camera Module To FPC50 15 Pin 1mm Pitch Cable. + +.. .. image:: /_static/images/rk3576-axon-lite/axon-lite-camera-3.gif +.. :width: 40% + +3. Connect Camera To Vicharak CAM PCB Connector. + +.. .. image:: /_static/images/rk3576-axon-lite/axon-lite-camera-4.gif +.. :width: 40% + +4. Connect Axon Lite Side Vicharak Flex Cable to Axon Lite. + +.. note:: + + Note down the pin names where yor are connecting the camera. Accordingly overlay needs to be selected. + +.. .. image:: /_static/images/rk3576-axon-lite/axon-lite-camera-mipi-p.webp +.. :width: 50% + +.. .. image:: /_static/images/rk3576-axon-lite/axon-lite-camera-5.gif +.. :width: 40% + + +5. After Using Camera, User can remove camera using twizer. + +.. .. image:: /_static/images/rk3576-axon-lite/axon-lite-camera-6.gif +.. :width: 40% + +Camera Interface PCBs +--------------------- + +2 Lane Alpha PCB ( Rpi compatible ) +==================================== + +.. .. image:: /_static/images/rk3576-axon-lite/axon-lite-camera-alpha.webp +.. :width: 30% + +Enable Overlays In Axon Lite +------------------------ + +**Here, you can find which overlay should be turned on for each MIPI Connector.** + +.. list-table:: + :header-rows: 1 + :widths: 15 15 15 15 + + * - **Interface on Vicharak board** + - **Lane option** + - **Vicharak camera PCB** + - **Turn on Overlay in Linux** + + * - MIPI CSI0 + - 2 Lane + - α + - Alpha + + * - MIPI CSI1 + - 2 Lane + - α + - Alpha + + * - MIPI DPHY RX0 + - 2 Lane + - α + - Alpha + + * - MIPI DPHY RX1 + - 2 Lane + - α + - Alpha + + * - MIPI CSI0 + + MIPI CSI1 + + MIPI DPHY RX0 + + MIPI DPHY RX1 + - 4 Lane + - α + - Alpha + +.. note:: + **Alpha 4 lane PCB will be available soon** + +**Steps to follow for Configuration** + +1. Open a terminal window(``Ctrl+Alt+T``). + +2. Run command ``sudo vicharak-config`` in it. + +3. Select ``Overlays`` options in it by pressing ``enter`` key. + +.. image:: /_static/images/rk3399-vaaman/Overlays_1.webp + :width: 50% + +4. You will see Warning Page, click on ``yes`` and select ``Manage Overlays`` options. + +.. image:: /_static/images/rk3399-vaaman/Overlays_2.webp + :width: 50% + +5. Select overlays as per your camera sensor ``( OV5647 )`` and port to which it is connected ``( CSI0 )`` by pressing ``spacebar`` on keyboard, then select ``Ok``. + +.. note:: + + If you want to connect multiple cameras, check which Sensor your camera is using from your camera docs like OV5647 or IMX519 and the ports to which it is connected like CSI0/CSI1 or dphy RX0/RX1 on axon-lite. Then select the overlay according to it. + +.. .. image:: /_static/images/rk3576-axon-lite/axon-lite-overlay-list.webp +.. :width: 50% + +6. To return back to terminal, press the ``Esc`` key until you exit from it. + +7. In order to enable your configuration, Restart your computer or Run command ``sudo reboot`` in terminal. + +.. danger:: + Make sure that whenever you are going to connect Camera, Device should be power off. + +Verify Camera Connection and Detection: +--------------------------------------- + +1. Open a terminal by clicking ctrl+alt+t + +2. Install v4l2 tools + +.. code-block:: bash + + sudo apt install v4l-utils + +3. Check if the camera device is detected: + +.. code-block:: bash + + v4l2-ctl --list-devices + +4. You should see output listing all the camera devices and sensors (look for rkisp_mainpath): + +.. code-block:: text + + rkisp_mainpath (platform:rkisp0-vir0): + /dev/video22 + /dev/video23 + /dev/video24 + /dev/video25 + /dev/video26 + /dev/video27 + /dev/video28 + /dev/media2 + + rkisp_mainpath (platform:rkisp1-vir0): + /dev/video31 + /dev/video32 + /dev/video33 + /dev/video34 + /dev/video35 + /dev/video36 + /dev/video37 + /dev/media3 + +.. note:: + + Here, the first device below rkisp_mainpath that is /dev/video22 and /dev/video31 are your camera devices. Similarly, your cameras will be listed here, note down the device name like video22 and video31. + +5. If you got the device name and number then it confirms that axon-lite has detected the Camera. If it is not visible, check the connection and pins again. + +To use the camera(s): +----------------------------------------------------------------------- + +.. Tip:: + + Connect a monitor to axon-lite to see the captured feed. + +Run Camera Using qV4l2 (GUI tool) +================================== + +**Step 1: Install the GUI tool (qv4l2) on RX Axon Lite** + +.. code-block:: bash + + sudo apt install qv4l2 + +**Step 2: Open qv4l2** + +.. code-block:: bash + + qv4l2 + +**Step 3: Select your camera device** + +1. Click on Open Devices on top-left corner + +.. .. image:: /_static/images/rk3576-axon-lite/axon-lite-mipi-camera03.webp +.. :width: 65% + +2. Select the device name from here like video22 or video31 from the menu (You can get device name by running ``v4l2-ctl --list-devices``) + +.. .. image:: /_static/images/rk3576-axon-lite/axon-lite-mipi-camera01.webp +.. :width: 65% + +**Step 4: Start the camera** + +Click on start capturing + +.. .. image:: /_static/images/rk3576-axon-lite/axon-lite-mipi-camera02.webp +.. :width: 65% + +.. tip:: + If you have connected multiple camera devices to axon-lite, open multiple qV4l2 windows in the same way and select different camera device name. Using this you can use all the MIPI ports. + + +Run camera live feed using ffmpeg +================================= + +1. Install ffmpeg using ``sudo apt install ffmpeg`` +2. Find the camera device number and substitute in the below command +3. Run ``ffplay -f v4l2 -pixel_format nv12 -video_size 1920x1080 /dev/video`` +4. In case of multiple camera open a new terminal and run the same command with different device number + +Run Camera Using V4l2 Utility +=============================== + +1. Use v4l2-ctl to capture camera frame data + +.. note:: + + At place of ```` add your camera device name like 22 or 31 + +.. code-block:: + + v4l2-ctl --verbose -d /dev/video \ + --set-fmt-video=width=1920,height=1080,pixelformat=NV12 \ + --stream-mmap=4 \ + --stream-count=60 \ + --set-selection=target=crop,flags=0,top=0,left=0,width=1920,height=1080 \ + --stream-to=sample.yuv + +.. note:: + For Single Camera, Default Camera Number would be 11. + As you can verfiy by below process. + + You can get Number by running below command : + + ls -l /dev/video* + + or + + v4l2-ctl --list-devices + + => /dev/video-camera0 -> video + e.g. - 11, 31 etc. + +2. Playing Captured File + +.. code-block:: + + ffplay -f rawvideo -pixel_format nv12 -video_size 1920x1080 -framerate 30 sample.yuv + +.. tip:: + + For multiple cameras, first verify and find out the device number of the camera then open a new terminal & run the same command with new device number. + + +Run Camera Using Python Script +============================== + +.. note:: + + The py script given below is for 1 camera, + +1. Install Python if not already installed. You can download Python from the official website: `Python Downloads `__. + +for Debian-based systems (like Debian): + +.. code-block:: + + sudo apt update + sudo apt install python3-pip + + +2. Install the OpenCV library using pip + +for Debian-based systems (like Debian): + +.. code-block:: + + pip install opencv-python + +Setup +------ + +1. Open a terminal window(``Ctrl+Alt+T``). + +2. To create a (``.py``) file in vim editor, Run command ``vim .py`` in terminal. + +3. Copy this below content into the file and paste it by pressing ``Ctrl + Shift + v``, then press ``Esc`` and to save this file, type ``:wq``. + + +.. code-block:: + :emphasize-lines: 3 + + # !/bin/env python3 + import cv2 + cap = cv2.VideoCapture() + while True: + ret, frame = cap.read() + cv2.imshow('frame', frame) + if cv2.waitKey(1) & 0xFF == ord('q'): + break + # After the loop release the cap object + cap.release() + # Destroy all the windows + cv2.destroyAllWindows() + + +.. note:: + For Single Camera, Default Camera Number would be 11. + As you can verfiy by below process. + + You can get Number by running below command : + + ls -l /dev/video* + + => /dev/video-camera0 -> video + e.g. - 11, 31 etc. + +.. Tip:: + + For multiple cameras you just have to add more VideoCapture objects. Given below is a example of python script for 2 cameras. + +.. code-block:: + :emphasize-lines: 3,4 + + #!/bin/env python3 + import cv2 + cap0 = cv2.VideoCapture() + cap1 = cv2.VideoCapture() + while True: + ret0, frame0 = cap0.read() + ret1, frame1 = cap1.read() + if ret0: + cv2.imshow("Camera 0", frame0) + + if ret1: + cv2.imshow("Camera 1", frame1) + + # Press q to quit + if cv2.waitKey(1) & 0xFF == ord('q'): + break + + # Release cameras + cap0.release() + cap1.release() + cv2.destroyAllWindows() + + +4. Open a terminal window(``Ctrl+Alt+T``). + +5. Navigate to the directory where your Python program is located using the ``cd`` command. + +6. Run Python program using the following command: + +.. code-block:: + + python3 .py + + +If you have multiple versions of Python installed, ensure you use ``python3`` to run the program for Python 3.x. + + +**Troubleshooting** + +- If you encounter any errors related to missing modules or libraries, ensure that Python and OpenCV are properly installed on your system. +- If the camera frame does not open or the program does not behave as expected, check for any + errors in the terminal output and review your program for potential issues. +- Check Camera I2C address is detected or not. + +.. note:: + sudo i2cdetect -y + + I2C Bus number is mentioned in Camera DTS node in device tree file + diff --git a/source/vicharak_sbcs/axon-lite/connectivity/bluetooth.rst b/source/vicharak_sbcs/axon-lite/connectivity/bluetooth.rst new file mode 100644 index 00000000..fd420684 --- /dev/null +++ b/source/vicharak_sbcs/axon-lite/connectivity/bluetooth.rst @@ -0,0 +1,160 @@ + +############## +Bluetooth +############## + +.. image:: /_static/images/rk3576-axon-lite/axon-lite-wifi-bt.webp + :width: 80% + +The Axon Lite SBC includes an integrated Bluetooth 5.2 interface based on the +**RTL8852BS** module. +Bluetooth is used for connecting wireless peripherals such as keyboards, +mice, audio devices, and sensors. + +.. image:: /_static/images/rk3576-axon-lite/accessory-wifi-antenna.webp + :width: 30% + +.. danger:: + Kindly, attach the combined Wi-Fi and Bluetooth Antenna on the U.FL connector as mentioned in the above picture. + + +Hardware Details +---------------- + +- **Module**: FG6252BSRB-03 +- **Bluetooth Version**: Bluetooth 5.2 / BLE +- **Host Interface**: UART + +Linux Support +------------- + +Bluetooth is supported using the Linux **BlueZ** stack. +Firmware must be available under ``/lib/firmware/rtl_bt/``. + +The Bluetooth controller is typically exposed as ``hci0``. + +Using Blueman (GUI Method) +-------------------------- + +1. Launch Blueman Manager: + + .. code-block:: bash + + blueman-manager + +2. Ensure Bluetooth is **ON** (top toolbar). + +3. Click **Search** to scan for nearby Bluetooth devices. + +4. Select the target device from the list and click **Pair**. + +5. Confirm the pairing request on both devices if prompted. + +6. After pairing, right-click the device and select **Connect**. + +Blueman provides an easy graphical interface for managing Bluetooth devices. + +Using bluetoothctl (CLI Method) +------------------------------- + +Start Bluetooth control utility: + +.. code-block:: bash + + bluetoothctl + +Inside the prompt, run: + +.. code-block:: bash + + power on + +.. code-block:: bash + + scan on + +Once the device appears (example MAC address): + +Pair device using MAC addresse: + +.. code-block:: bash + + pair AA:BB:CC:DD:EE:FF + +Trust device using MAC addresse: + +.. code-block:: bash + + trust AA:BB:CC:DD:EE:FF + +Connect device using MAC addresse: + +.. code-block:: bash + + connect AA:BB:CC:DD:EE:FF + +Stop scanning and exit: + +.. code-block:: bash + + scan off + +.. code-block:: bash + + quit + +Troubleshooting +--------------- + +- Check hci device using below command : + +.. code-block:: + + hciconfig -a + +**Expected Device** + +.. code-block:: + + hci0: Type: Primary Bus: UART + BD Address: 40:F4:C9:94:85:5B ACL MTU: 1021:5 SCO MTU: 255:11 + UP RUNNING + RX bytes:2823 acl:0 sco:0 events:79 errors:0 + TX bytes:7087 acl:0 sco:0 commands:98 errors:0 + Features: 0xff 0xff 0xff 0xfa 0xdb 0xbf 0x7b 0x87 + Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3 + Link policy: RSWITCH HOLD SNIFF PARK + Link mode: PERIPHERAL ACCEPT + Name: 'cow' + Class: 0x7c0000 + Service Classes: Rendering, Capturing, Object Transfer, Audio, Telephony + Device Class: Miscellaneous, + HCI Version: 5.2 (0xb) Revision: 0x530 + LMP Version: 5.2 (0xb) Subversion: 0xf2b7 + Manufacturer: Realtek Semiconductor Corporation (93) + +- Check kernel logs if Bluetooth does not appear: + + .. code-block:: bash + + dmesg | grep -i bluetooth + +- Verify firmware files: + + .. code-block:: bash + + ls /lib/firmware/rtl_bt/ + +- You can reinstall firmware by using below command : + +.. code-block:: + + sudo apt update + sudo apt install vicharak-firmware + +- Reboot after installing firmware or drivers. + +Notes +----- + +- BLE support depends on kernel and BlueZ version. diff --git a/source/vicharak_sbcs/axon-lite/connectivity/ethernet.rst b/source/vicharak_sbcs/axon-lite/connectivity/ethernet.rst new file mode 100644 index 00000000..68811a3e --- /dev/null +++ b/source/vicharak_sbcs/axon-lite/connectivity/ethernet.rst @@ -0,0 +1,109 @@ +############# +Ethernet +############# + +.. image:: /_static/images/rk3576-axon-lite/axon-lite-ethernet.webp + :width: 60% + +.. important:: + + Axon Lite supports extra Gigabit Ethernet ports via our :doc:`Dual Gigabit Ethernet HAT <../axon-lite-accessories/axon-lite-dual-ethernet>` and :doc:`Ethernet and Dual USB 3.0 Hub HAT <../axon-lite-accessories/axon-lite-ethernet-usb3>` modules! + +The Axon Lite SBC provides a single Gigabit Ethernet interface for wired network +connectivity using a standard RJ45 connector. + +Hardware Details +---------------- + +- **Connector**: 1 × RJ45 +- **Speed**: 10 / 100 / 1000 Mbps +- **Ethernet PHY**: Realtek RTL8211F +- **Interface Type**: RGMII + +The Ethernet interface supports auto-negotiation and automatically selects +the highest supported link speed. + +Linux Support +------------- + +The Ethernet interface is supported by the Linux kernel using the standard +Realtek PHY driver. No additional out-of-tree drivers are required. + +The network interface usually appears as ``end0`` or ``end1`` depending on +the Linux distribution. + +Basic Linux Commands +-------------------- + +Check Ethernet Interface +^^^^^^^^^^^^^^^^^^^^^^^^^ + +List all network interfaces: + +.. code-block:: bash + + ip link show + +Check IP address assigned to Ethernet: + +.. code-block:: bash + + ip addr show end0 + +Bring Interface Up or Down +^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Bring the Ethernet interface up: + +.. code-block:: bash + + sudo ip link set end0 up + +Bring the Ethernet interface down: + +.. code-block:: bash + + sudo ip link set end0 down + +Check Link Status and Speed +^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Install ``ethtool`` if not already available: + +.. code-block:: bash + + sudo apt install ethtool + +Check link status and negotiated speed: + +.. code-block:: bash + + ethtool end0 + +Expected output includes link state and speed, for example:: + + Speed: 1000Mb/s + Duplex: Full + Link detected: yes + +Test Network Connectivity +^^^^^^^^^^^^^^^^^^^^^^^^^ + +Check connectivity using ping: + +.. code-block:: bash + + ping -c 4 8.8.8.8 + +Check default gateway and routing table: + +.. code-block:: bash + + ip route + +Notes +----- + +- Use a **CAT5e or higher** Ethernet cable to achieve Gigabit (1000 Mbps) speed. +- Ensure Ethernet support is enabled in the kernel and device tree. +- Link LEDs on the RJ45 connector indicate activity and connection status. \ No newline at end of file diff --git a/source/vicharak_sbcs/axon-lite/connectivity/index.rst b/source/vicharak_sbcs/axon-lite/connectivity/index.rst new file mode 100644 index 00000000..c2c7f7db --- /dev/null +++ b/source/vicharak_sbcs/axon-lite/connectivity/index.rst @@ -0,0 +1,12 @@ +#################################### +Connectivity +#################################### + +Axon Lite offers a range of connectivity options to ensure seamless integration with various devices and networks. Below is a detailed overview of the available connectivity features: + +.. toctree:: + :maxdepth: 1 + + Bluetooth 5.2 + Ethernet + WiFi 6 diff --git a/source/vicharak_sbcs/axon-lite/connectivity/wifi.rst b/source/vicharak_sbcs/axon-lite/connectivity/wifi.rst new file mode 100644 index 00000000..beda9152 --- /dev/null +++ b/source/vicharak_sbcs/axon-lite/connectivity/wifi.rst @@ -0,0 +1,126 @@ +############## +Wi-Fi +############## + +.. image:: /_static/images/rk3576-axon-lite/axon-lite-wifi-bt.webp + :width: 80% + +Vicharak Axon Lite comes with a FG6252BSRB-03 WiFi 6 2.4GHz/5GHz dual-band module and Antenna is connected to the board via a U.FL connector. The antenna can support WiFi 2.4Ghz, 5GHz, 5.8Ghz antenna and is compatible with 802.11 b/g/n Wi-Fi. + +.. image:: /_static/images/rk3576-axon-lite/accessory-wifi-antenna.webp + :width: 30% + +.. danger:: + Kindly, attach the combined Wi-Fi and Bluetooth Antenna on the U.FL connector as mentioned in the above picture. + +This document explains how to connect to a Wi-Fi network on a Linux system using command-line tools. It covers the following methods: + +- ``nmcli`` (NetworkManager CLI) +- ``nmtui`` (NetworkManager Text User Interface) + +Prerequisites +============= + +- A functional Wi-Fi interface (e.g., ``wlan0`` or ``wlp2s0``) +- Required tools installed: + + .. code-block:: + + sudo apt update + sudo apt-get install network-manager + + + - For Method A & B: NetworkManager with ``nmcli`` and ``nmtui`` + +Method A: Using nmcli (NetworkManager) +====================================== + +1. Check Wi-Fi Device Status +---------------------------- + +.. code-block:: bash + + nmcli device status + +Ensure that the wireless interface is listed and not marked as ``unavailable``. + +2. Enable Wi-Fi +--------------- + +.. code-block:: bash + + nmcli radio wifi on + +3. Scan for Available Networks +------------------------------ + +.. code-block:: bash + + nmcli device wifi list + +4. Connect to the Wi-Fi Network +------------------------------- + +.. code-block:: bash + + sudo nmcli device wifi connect "" password "" + +Replace ```` with the name of the network and ```` with the password. + +5. Check Connection +------------------- + +.. code-block:: bash + + nmcli connection show --active + +Method B: Using nmtui (Text User Interface) +=========================================== + +``nmtui`` provides a text-based user interface to configure network settings. + +1. Start nmtui +-------------- + +.. code-block:: bash + + sudo nmtui + +2. Select "Activate a connection" +--------------------------------- + +Use arrow keys to navigate and select the Wi-Fi network from the list. + +3. Enter Password and Connect +----------------------------- + +Once selected, input the Wi-Fi password if prompted and press Enter. + +4. Verify the Connection +------------------------ + +.. code-block:: bash + + nmcli connection show --active + +.. code-block:: bash + + ping -c 5 google.com + + +Use WiFi As Hotspot +==================== + + Use `Hotspot Setup
`_ + + +Troubleshooting +=============== + +- Use ``dmesg | grep wlan`` or ``journalctl -xe`` to inspect Wi-Fi-related logs. +- Ensure your Wi-Fi driver/module is loaded. + +Recommendations +=============== + +- Use ``nmcli`` or ``nmtui`` for user-friendly configuration on most systems. diff --git a/source/vicharak_sbcs/axon-lite/display/display-interfaces.rst b/source/vicharak_sbcs/axon-lite/display/display-interfaces.rst new file mode 100644 index 00000000..b626ed5e --- /dev/null +++ b/source/vicharak_sbcs/axon-lite/display/display-interfaces.rst @@ -0,0 +1,135 @@ +------------------- +HDMI TX +------------------- + +HDMI 2.1 TX Port on Axon Lite Vicharak Board +======================================= + +.. image:: /_static/images/rk3576-axon-lite/axon-lite-hdmi.webp + :width: 74% + +The Axon Lite board provides HDMI 2.1 TX ports for connecting external displays such as monitors, TVs, or projectors. + +Hardware Connection +------------------- + +- The Axon Lite board provides: + + - 1 × micro HDMI 2.1 TX port + +- To connect a display: + + 1. Locate the micro HDMI TX port on the board. + 2. Connect a **High Speed HDMI 2.1 cable** from the board to the display. + 3. Power on both the board and the display. + 4. Set the display input source to the corresponding HDMI port. + +Display Configuration Using Terminal +------------------------------------ + +Detect Connected Displays +^^^^^^^^^^^^^^^^^^^^^^^^^ + +Run the following command to detect connected HDMI displays: + +.. code-block:: bash + + xrandr -q + +Look for entries marked as ``connected``, for example: + +.. code-block:: text + + HDMI-1 connected 1920x1080+0+0 + +The name (e.g., ``HDMI-1``) will be used in subsequent commands. + +List Supported Display Modes +^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +To view all supported resolutions and refresh rates: + +.. code-block:: bash + + xrandr + +This command displays available modes such as: + +.. code-block:: text + + 3840x2160 60.00* + 1920x1080 60.00 + 1280x720 60.00 + +Set Resolution and Refresh Rate +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. note:: + + Replace ``HDMI-1`` and resolution values (3840 X 2160) with those supported by your display. + +Set 4K resolution at 60 Hz: + +.. code-block:: bash + + xrandr --output HDMI-1 --mode 3840x2160 --rate 60 + +Set 1080p resolution at 60 Hz: + +.. code-block:: bash + + xrandr --output HDMI-1 --mode 1920x1080 --rate 60 + +Auto-detect Recommended Resolution +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +To automatically configure the optimal resolution: + +.. code-block:: bash + + xrandr --output HDMI-1 --auto + +Identify Correct HDMI Output Name +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +If unsure about the HDMI output name, run: + +.. code-block:: bash + + xrandr -q + +Use the output name marked as ``connected``. + + +Troubleshooting: HDMI Not Detected or No Display +------------------------------------------------ + +Check Physical Connections +^^^^^^^^^^^^^^^^^^^^^^^^^^ + +- Ensure the HDMI cable is securely connected to both the board and the display. +- Verify the display is powered on. +- Confirm the correct HDMI input source is selected on the display. +- Try a different HDMI cable or display if necessary. + +Check Kernel and Driver Messages +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Verify EDID detection: + +.. code-block:: bash + + dmesg | grep -i edid + +Ensure no HDMI or video subsystem errors are reported. + +Rescan Displays +^^^^^^^^^^^^^^^ + +Trigger automatic display detection: + +.. code-block:: bash + + xrandr --auto + + diff --git a/source/vicharak_sbcs/axon-lite/display/index.rst b/source/vicharak_sbcs/axon-lite/display/index.rst new file mode 100644 index 00000000..ea29c81a --- /dev/null +++ b/source/vicharak_sbcs/axon-lite/display/index.rst @@ -0,0 +1,48 @@ +#################################### +Display Interfaces +#################################### + +Axon Lite supports up to 3 independent displays simultaneously using the RK3576 display subsystem. + +The RK3576 contains three internal display controllers called Video Ports (VP0, VP1, VP2). Each Video Port can drive one display output independently. + +Physical display connectors on the board are mapped internally to these Video Ports through various display interfaces such as HDMI, DisplayPort, and MIPI-DSI. + +.. image:: /_static/images/rk3576-axon-lite/axon-lite-videoPorts.webp + :width: 70% + +Video Ports Specifications +========================== + ++----------+--------------------------------+ +| Video | Max Output Resolution | +| Port | | ++==========+================================+ +| VP0 | 3840x2160 @ 120Hz (4K) | ++----------+--------------------------------+ +| VP1 | 2560x1600 @ 60Hz (2K) | ++----------+--------------------------------+ +| VP2 | 1920x1080 @ 60Hz (1080p) | ++----------+--------------------------------+ + +Available Display Interface Ports on Axon Lite +============================================== + +Axon Lite exposes three physical display interface ports: + +1. micro HDMI TX +2. Type-C DP (USB-C) +3. MIPI DSI + +.. note:: + + In the current configuration, we are giving **VP2** to **DP0** (Type-C DisplayPort), thus limiting its maximum output resolution to **1920x1080 @ 60Hz**. + +Detailed documentation for each interface is provided below: + +.. toctree:: + :maxdepth: 3 + + HDMI TX 2.1 + MIPI DSI 2.0 + Type-C DisplayPort 1.4a diff --git a/source/vicharak_sbcs/axon-lite/display/mipi-dsi.rst b/source/vicharak_sbcs/axon-lite/display/mipi-dsi.rst new file mode 100644 index 00000000..234ddf20 --- /dev/null +++ b/source/vicharak_sbcs/axon-lite/display/mipi-dsi.rst @@ -0,0 +1,177 @@ +################## +MIPI DSI +################## + +.. .. image:: /_static/images/rk3576-axon-lite/axon-lite-dsi.webp +.. :width: 80% + +Axon Lite provides a MIPI-DSI host controller and multiple DSI lanes; a display panel is driven by a DSI bridge/panel driver with appropriate timing, format, and polarity settings. In standard configurations, TX0 on RK3576 is used for direct or bridged DSI connections to Waveshare or compatible panels. + +Getting Started +---------------- + +Prerequisites +`````````````` + +- MIPI DSI Display +- Configure Kernel and make overlays according to MIPI-DSI Display +- Vicharak PCB For DSI Display +- Vicharak Flex Cable 40-Pin 0.4mm Pitch Cable (Golden Color) +- Make sure, You have installed latest kernel, If not. Please run command below. + +.. code-block:: + + sudo apt update + sudo apt reinstall linux-image-6.1.75-axon-lite + +Configure display timings and panel driver +``````````````````````````````````````````` + +For Open Source Contribution: + +**Vicharak Kernel** + +.. code-block:: bash + + https://github.com/vicharak-in/vicharak-linux-kernel.git + + +- Give support of Display driver and overlays, and compile kernel and add overlays in ``/boot/overlays--axon-lite`` folder. + You can look ``arch/arm64/boot/dts/rockchip/overlays`` folder. + +- Ensure the kernel panel/bridge driver is configured with the correct mode (e.g., resolution, refresh rate, and color depth) via the device tree overlay or panel driver. + +- If a custom timing is required, provide a panel node in the overlay with: + - display-mode or timing parameters + - pixel clock, hsync/vsync, and back porch values + - bus format (e.g., RGB888) + +Waveshare 4inch MIPI Display Support +------------------------------------- + +`Waveshare 4inch DSI Displays `_ + +Steps to follow for Configuration +```````````````````````````````````````` + +1. Open a terminal window (``Ctrl+Alt+T``). + +2. Run command ``sudo vicharak-config`` in it. + +3. Select ``Overlays`` options in it by pressing ``enter`` key. + +.. code-block:: console + + ┌───────────────────────────────────┤ VICHARAK_CONFIG ├────────────────────────-───────────┐ + │ Please select an option below: │ + │ │ + │ System Maintanince │ + │ Hardware │ + │ Overlays │ + │ Connectivity │ + │ Advanced Options │ + │ User Settings │ + │ Localization │ + │ About │ + │ │ + │ │ + │ │ + └──────────────────────────────────────────────────────────────────────────────────────────┘ + + +4. You will see Warning Page, click on ``yes`` and select ``Manage Overlays`` options. + + +.. code-block:: console + + + ┌───────────────────────────────────┤ VICHARAK_CONFIG ├────────────────────────────────────┐ + │ Configure Device Tree Overlay │ + │ │ + │ Manage overlays │ + │ View overlay info │ + │ Install 3rd party overlay │ + │ Reset overlays │ + │ │ + │ │ + │ │ + └──────────────────────────────────────────────────────────────────────────────────────────┘ + + +5. Select overlays as per your connection of MIPI Display of connector **Tx0** by pressing ``spacebar`` on keyboard, then select ``Ok``. + +.. code-block:: console + + ┌──────────────────────────────────┤ VICHARAK_CONFIG ├─────────────────────────────────────┐ + │ Please select overlays: │ + │ │ + │ [ ] Enable DP connector-split mode Axon Lite V0.3 │ + │ [ ] Enable RasPi Camera V1.3 (OV5647) on CSI0 Alpha Axon Lite V0.3 [OFF] │ + │ [ ] Enable RasPi Camera V1.3 (OV5647) on CSI1 Alpha Axon Lite V0.3 [OFF] │ + │ [ ] Enable RasPi Camera V1.3 (OV5647) on CSI1 Alpha Axon Lite V0.3 [OFF] │ + │ [ ] Enable RasPi Camera V1.3 (OV5647) on CSI1 Alpha Axon Lite V0.3 [OFF] │ + │ [ ] Enable RasPi Camera V1.3 (OV5647) on dphy RX0 Alpha Axon Lite V0.3 [OFF] │ + │ [ ] Enable RasPi Camera V1.3 (OV5647) on dphy RX1 Aplha Axon Lite V0.3 [OFF] │ + │ [ ] Enable I2C3 on 40-Pin GPIO Header Axon Lite V0.3 │ + │ [ ] Enable I2C4 on 40-Pin GPIO Header Axon Lite V0.3 │ + │ [ ] Enable I2C7 on 40-Pin GPIO Header Axon Lite V0.3 │ + │ [ ] Enable I2C9 on 40-Pin GPIO Header Axon Lite V0.3 │ + │ [ ] Enable PWM0 on 40-Pin GPIO Header Axon Lite V0.3 │ + │ [ ] Enable PWM1_M0 on 40-Pin GPIO Header Axon Lite V0.3 │ + │ [ ] Enable PWM1_M0 on 40-Pin GPIO Header Axon Lite V0.3 │ + │ [ ] Enable UART1 on 40-Pin GPIO Header Axon Lite V0.3 │ + │ [ ] Enable UART4 on 40-Pin GPIO Header Axon Lite V0.3 │ + │ [ ] Enable UART6 on 40-Pin GPIO Header Axon Lite V0.3 │ + │ [*] Enable Waveshare 4inch DSI LCD DPHY TX0 Axon Lite V0.3 │ + │ │ + │ │ + │ │ + │ │ + │ │ + │ │ + └──────────────────────────────────────────────────────────────────────────────────────────┘ + + +6. To return back to terminal, press the ``Esc`` key until you exit from it. + +7. In order to enable your configuration, Restart your computer or Run command ``sudo reboot`` in terminal. + + +Verify after reboot +```````````````````` + +.. .. image:: /_static/images/rk3576-axon-lite/axon-lite-dsi-waveshare.webp +.. :width: 35% + + +- **xrandr** will be shown all supported resolution by DSI Display. + +.. code-block:: none + + xrandr + + +- Check kernel **logs** for DSI panel/properties: + +.. code-block:: none + + dmesg | grep -i dsi + +- Confirm a display is **active** (if supported by the kernel): + +.. code-block:: none + + ls /sys/class/graphics/fb* + +.. code-block:: none + + cat /sys/class/graphics/fb0/name + +Troubleshooting +```````````````` +- If **dmesg** reports inability to initialize DSI, verify: + - TX0 wiring and connector integrity + - Correct overlay name and that the overlay is loaded + - Kernel supports the specific MIPI Display +- If the display remains dark, check that a valid panel/bridge device is registered and that the framebuffer is assigned (fb0, fb1, etc.) +- Review documentation for model-specific timing and initialization sequences of Display diff --git a/source/vicharak_sbcs/axon-lite/display/type-c-dp.rst b/source/vicharak_sbcs/axon-lite/display/type-c-dp.rst new file mode 100644 index 00000000..b72affa6 --- /dev/null +++ b/source/vicharak_sbcs/axon-lite/display/type-c-dp.rst @@ -0,0 +1,130 @@ +################## +Type-C DP 1.4a +################## + +.. image:: /_static/images/rk3576-axon-lite/axon-lite-dp.webp + :width: 80% + +Axon Lite provides a Type-C DisplayPort 1.4a interface for high-resolution display output with support for high video bandwidth. The DP connector on RK3576 is used for direct connections to DP-compatible displays, projectors, and USB-C docking stations. + +Getting Started +--------------- + +Prerequisites +````````````` +- Type-C DisplayPort 1.4a compatible display, or monitor +- Axon Lite with DP connector +- USB-C cable to your display port(HDMI , VGA , others) in your display + +How to use +----------- +1. Connect one end of your USB-C cable to axon-lite board to the usb-ports shown in image +2. Connect the other end of your USB-C cable to your display +3. You should get the Vichrak configured displayed on your monitor + +Configure DisplayPort and video mode +````````````````````````````````````` + +1. Check if Display is detected +"""""""""""""""""""""""""""""""" + +Use **xrandr** to show all supported resolutions and refresh rates available on DP output: + +.. code-block:: bash + + xrandr + +Example output: + +.. code-block:: text + + Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 16384 x 16384 + HDMI-1 disconnected (normal left inverted right x axis y axis) + HDMI-2 disconnected (normal left inverted right x axis y axis) + DP-1 disconnected (normal left inverted right x axis y axis) + DP-2 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 376mm x 301mm + 1920x1080 60.00*+ 120.00 + 1280x1024 60.02 + 1024x768 75.03 60.00 + 800x600 75.00 68.32 + 640x480 75.00 59.94 + 720x400 70.08 + +Key Information from Output +,,,,,,,,,,,,,,,,,,,,,,,,,,, + +- Here, DP-2 is shown as connected, which shows that your display has successfully connected to axon-lite +- Numbers on right = Available refresh rates in Hz +- ``connected`` = Display is detected and connected +- ``disconnected`` = Display not detected + +2. Auto-enable Display (Recommended) +"""""""""""""""""""""""""""""""""""" + +Automatically enable the display with optimal settings: + +.. code-block:: bash + + xrandr --output DP-2 --auto + +3. Set Custom Resolution and Refresh Rate +""""""""""""""""""""""""""""""""""""""""" + +.. note:: + + Actual supported resolutions depend on the capabilities of the connected display and the configured DP lanes. + +Manually configure display resolution and refresh rate: + +.. code-block:: bash + + xrandr --output DP-2 --mode 1920x1080 --rate 60 + +Common xrandr Parameters +,,,,,,,,,,,,,,,,,,,,,,,,, + +.. list-table:: + :header-rows: 1 + :widths: 20 60 + + * - Parameter + - Description + * - ``--output `` + - Display output name (DP-1, DP-2, HDMI-1, etc.) + * - ``--mode `` + - Resolution in format WIDTHxHEIGHT (e.g., 1920x1080) + * - ``--rate `` + - Refresh rate in Hz (e.g., 60) + * - ``--auto`` + - Auto-detect and apply optimal settings + * - ``--off`` + - Disable the display + * - ``--scale `` + - Scale output (e.g., 1.0 for normal, 2.0 for 2x zoom) + + +Troubleshooting +``````````````` + +- If **dmesg** reports inability to initialize DP, verify: + + - Type-C DP cable and connector integrity + - Correct overlay name and that the overlay is loaded + - Kernel supports DP output + - External display is powered on and set to the correct input + +- If the display remains dark, check that: + + - DP display is properly detected in ``xrandr`` + - A valid framebuffer is assigned (fb0, fb1, etc.) + - Display resolution is supported by the connected monitor + +- Review documentation for model-specific DP timing and initialization sequences + +- Use ``xrandr`` to manually set display resolution and refresh rate: + + .. code-block:: bash + + xrandr --output DP-1 --mode 1920x1080 --rate 60 + + diff --git a/source/vicharak_sbcs/axon-lite/peripherals/gpio.md b/source/vicharak_sbcs/axon-lite/peripherals/gpio.md new file mode 100644 index 00000000..31b36d86 --- /dev/null +++ b/source/vicharak_sbcs/axon-lite/peripherals/gpio.md @@ -0,0 +1,266 @@ +## GPIO + +GPIO stands for General Purpose Input/Output. It refers to configurable digital pins on microcontrollers or embedded systems that can act as either inputs or outputs, allowing them to read signals (like button presses) or control devices (like LEDs). They serve as the basic interface for interacting with external hardware. + +Axon Lite has **40-pin GPIO header pins** which can support multiple interfaces like UART, I2C etc. + + +### Axon Lite GPIOs Header + +
+ +| GPIO number | Function5 | Function4 | Function3 | Function2 | Function1 | PWR/GND | GPIO | Pin# | Pin# | GPIO | PWR/GND | Function1 | Function2 | Function3 | Function4 | Function5 | Function6 | Function7 | GPIO number | +| :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | +| | | | | | | 3.3V | |
1
|
2
| | 5V | | | | | | | | | +| 129 | | | | I2C7_SDA_M2 | UART3_RX_M1 | | GPIO4_A1 |
3
|
4
| | 5V | | | | | | | | | +| 128 | | | | I2C7_SCL_M2 | UART3_TX_M1 | | GPIO4_A0 |
5
|
6
| | GND | | | | | | | | | +| 77 | | SAI0_MCLK_M0 | | | UART7_RTSN_M0 | | GPIO2_B5 |
7
|
8
| Debug | | UART0_TX_M0 | | | | | | | | +| | | | | | | GND | |
9
|
10
| Debug | | UART0_RX_M0 | | | | | | | | +| 112 | | SAI1_SDO3_M1 | | I2C4_SCL_M3 | UART2_TX_M2 / UART3_RTSN_M1 | | GPIO3_C0 |
11
|
12
| GPIO3_A0 | | UART3_TC_M0 | I2C7_SCL_M1 | SPI3_CLK_M0 | SAI3_SCLK_M2 | | | | 96 | +| 111 | | SAI1_SDI0_M1 | | I2C4_SDA_M3 | UART2_RX_M2 / UART3_CTSN_M1 | | GPIO3_B7 |
13
|
14
| | GND | | | | | | | | | +| 71 | | SAI0_SDO1_M0 | | I2C4_SDA_M2 | UART8_RX_M1 | | GPIO2_A7 |
15
|
16
| GPIO0_C1 | | UART8_TX_M2 | I2C0_SCL_M1 | | | | I3C0_SCL_M0 | | 17 | +| | | | | | | 3.3V | |
17
|
18
| GPIO0_C2 | | UART8_RX_M2 | I2C0_SDA_M1 | | | | I3C0_SDA_M0 | | 18 | +| 126 | PWM2_CH6_M3 | SAI1_SDI3_M1 | SPI3_MOSI_M1 | | UART5_CTSN_M0 | | GPIO3_D6 |
19
|
20
| | GND | | | | | | | | | +| 125 | | SAI1_SDI2_M1 | SPI3_MISO_M1 | I2C3_SDA_M2 | UART5_TX_M0 | | GPIO3_D5 |
21
|
22
| GPIO2_B4 | | UART7_CTSN_M0 | | | SAI0_SDI3_M0 | | | | 76 | +| 124 | | SAI1_SDI1_M1 | SPI3_CLK_M1 | I2C3_SCL_M2 | UART5_RX_M0 | | GPIO3_D4 |
23
|
24
| GPIO3_D7 | | UART5_RTSN_M0 | | SPI3_CSN1_M1 | | PWM2_CH7_M3 | | | 127 | +| | | | | | | GND | |
25
|
26
| GPIO2_A6 | | UART8_TX_M1 | I2C4_SCL_M2 | | SAI0_SDO0_M0 | | | | 70 | +| 117 | PWM2_CH2_M3 | SAI1_SDO0_M1 | SPI1_MISO_M2 | | UART8_RX_M0 | | GPIO3_C5 |
27
|
28
| GPIO2_B6 | | UART7_TX_M0 / UART8_RTSN_M1 | I2C8_SCL_M2 | | SAI0_SCLK_M0 | | | | 78 | +| 118 | | SAI1_LRCK_M1 | SPI1_MOSI_M2 | | UART8_TX_M0 | | GPIO3_C6 |
29
|
30
| | GND | | | | | | | | | +| 119 | | SAI1_SCLK_M1 | SPI1_CLK_M2 | | UART8_RTSN_M0 | | GPIO3_C7 |
31
|
32
| GPIO2_D5 | | UART6_CTSN_M1 | I2C9_SCL_M2 | | | PWM2_CH5_M2 | | | 93 | +| 120 | PWM2_CH3_M3 | SAI1_MCLK_M1 | SPI1_CSN0_M2 | | UART8_CTSN_M0 | | GPIO3_D0 |
33
|
34
| | GND | | | | | | | | | +| 97 | | SAI3_LRCK_M2 | SPI3_MOSI_M0 | I2C7_SDA_M1 | UART3_RX_M0 | | GPIO3_A1 |
35
|
36
| GPIO2_D4 | | | I2C9_SDA_M2 | | | PWM2_CH4_M2 | | | 92 | +| 79 | | SAI0_LRCK_M0 | | I2C8_SDA_M2 | UART7_RX_M0 / UART8_CTSN_M1 | | GPIO2_B7 |
37
|
38
| GPIO3_A3 | | UART3_RTSN_M0 | | SPI3_CSN0_M0 | SAI3_SDI_M2 | | | CAN_RX_M3 | 99 | +| | | | | | | GND | |
39
|
40
| GPIO3_A2 | | UART3_CTSN_M0 | | SPI3_MISO_M0 | SAI3_SDO_M2 | | | CAN_TX_M3 | 98 | + +
+ + +:::{note} +You can find [ GPIO Number Translation: ](#axon-lite-gpio-transaction) for Axon Lite. +::: + +Before going to configure GPIOs, Need to know some basics: + +Let's take one ``GPIO2_B6`` Pin, + +| Pin | GPIO | GPIO Number | +| :----: | :------: | :-----------: | +| 28 | GPIO2_B6 | 78 | + +- What is GPIO Pin ? + It is a Pin which locates on GPIO Header on Axon Lite. Axon Lite has 40 Pins on GPIO header. + +- What is GPIO Number ? + You can get GPIO Number from Axon Lite GPIOs Header Table. + +- What is GPIO Chip Num ? + In ``GPIO2_B6``, 2 means GPIO Chip Number. + +- What is GPIO Base Number ? + It depends on GPIO Chip Number, For example, GPIOCHIP2 has base number = 64 + +- What is GPIO Line ? + You can get GPIO Line number by substracting GPIO Base Number from GPIO Number. + + +### How GPIO Pins can be configured ? + +GPIO Pins can be configured in many ways. For example, you can ``write program`` to function pins according to your +requirement or you can simply run command using ``gpiod`` Command line and you can also use GPIO Pins as UART or I2C +Functionality. + +:::{warning} +As mention in table, you can use only one function at a time of GPIO Pin. + +Let's take one ``GPIO1_D1`` Pin, You have 3 Function to use this GPIO Pin. Like, UART, I2C, SPI +You can only use any of the above one at a time. +::: + + +Now, Using ``sudo gpioinfo``, you can figure out which pin is located on which gpiochip and gpio_line. + +:::{note} +For GPIO2_B6, + +GPIO Pin = 28 + +GPIO Line = 14 ( GPIO_NUM - GPIO_BASE_NUMBER for CHIP2 ) ( 78 - 64 ) + +GPIO Chip = 2 +::: + +:::{code} + vicharak@vicharak:~$ sudo gpioinfo + + gpiochip0 - 32 lines: + line 0: unnamed "bt_default_wake_host" input active-high [used] + line 1: unnamed unused input active-high + line 2: unnamed unused input active-high + line 3: unnamed unused input active-high + line 4: unnamed unused input active-high + line 5: unnamed "interrupt" input active-high [used] + line 6: unnamed "interrupt" input active-high [used] + line 7: unnamed unused input active-high + line 8: unnamed unused input active-high + line 9: unnamed unused input active-high + line 10: unnamed unused input active-high + line 11: unnamed unused input active-high + line 12: unnamed unused input active-high + line 13: unnamed unused input active-high + line 14: unnamed unused input active-high + line 15: unnamed unused input active-high + line 16: unnamed unused input active-high + line 17: unnamed unused input active-high + line 18: unnamed "bt_default_wake" output active-high [used] + line 19: unnamed unused input active-high + line 20: unnamed unused output active-high + line 21: unnamed unused input active-high + line 22: unnamed unused input active-high + line 23: unnamed unused input active-high + line 24: unnamed "enable" output active-high [used] + line 25: unnamed unused input active-high + line 26: unnamed unused input active-high + line 27: unnamed unused input active-high + line 28: "PIN_8" unused input active-high + line 29: "PIN_10" unused input active-high + line 30: unnamed unused input active-high + line 31: unnamed unused input active-high + +::: + +:::{note} +If It shows `gpioinfo` not found, you need to install `gpiod`. + +sudo apt update + +sudo apt gpiod +::: + +### Using C Language + +Below Program will configure GPIO Header Pin 10 (GPIO_NUM 78) using gpiod library. + +Make sure, you have installed ``libgpiod-dev`` in Axon Lite. + +:::{code} + + sudo apt update + sudo apt-get install -y libgpiod-dev +::: + + +This code will high GPIO-Pin 10 for 5 sec and again put it in Low. + +:::{code} + +#include +#include +#include + +#define GPIO_CHIP "/dev/gpiochip2" // Specify the correct GPIO chip device +#define GPIO_NUMBER 78 // Global GPIO number +#define GPIO_CHIP_BASE 64 // The base GPIO number for gpiochip2 + +int main() +{ + struct gpiod_chip *chip; + struct gpiod_line *line; + int ret; + int gpio_line = GPIO_NUMBER - GPIO_CHIP_BASE; // Local GPIO line number + + // Open the GPIO chip + chip = gpiod_chip_open(GPIO_CHIP); + if (!chip) + { + perror("Failed to open GPIO chip"); + return EXIT_FAILURE; + } + + // Get the GPIO line (based on the offset calculated) + line = gpiod_chip_get_line(chip, gpio_line); + if (!line) + { + perror("Failed to get GPIO line"); + gpiod_chip_close(chip); + return EXIT_FAILURE; + } + + // Request the GPIO line as an output and set the initial value to low (0) + ret = gpiod_line_request_output(line, "gpioset", 0); + if (ret < 0) + { + perror("Failed to request GPIO line as output"); + gpiod_line_release(line); // Ensure the line is released in case of error + gpiod_chip_close(chip); + return EXIT_FAILURE; + } + + // Set GPIO line 135 to high (enable) + printf("Setting GPIO %d to high (enabled)\n", GPIO_NUMBER); + ret = gpiod_line_set_value(line, 1); // Set value to 1 (high) + if (ret < 0) + { + perror("Failed to set GPIO value"); + gpiod_line_release(line); + gpiod_chip_close(chip); + return EXIT_FAILURE; + } + + // Sleep for a while to keep the pin enabled (you can modify the delay as needed) + sleep(5); // Keep the GPIO high for 5 seconds + + // Optionally: Set GPIO line to low (disable) after sleep + printf("Disabling GPIO %d (set to low)\n", GPIO_NUMBER); + gpiod_line_set_value(line, 0); // Set value to 0 (low) + + // Release the GPIO line and close the GPIO chip + gpiod_line_release(line); + gpiod_chip_close(chip); + + return 0; +} +::: + +1. Compile above code using ``gcc -o -lgpiod`` +2. Run executable file using `sudo` as it requires privileges, ``sudo ./`` + + +### Using gpiod Command Line Tool in Linux + +- Install ``gpiod`` Command Line Tool + +:::{code} + + sudo apt update + sudo apt install gpiod +::: + +- ``gpiodetect`` - List all GPIO chips present on the system, their names, labels and number of GPIO lines. + +- ``gpioinfo`` - List all lines of specified GPIO chips, their names, consumers, direction, active state and additional flags. + +- ``gpioget`` - Read values of specified GPIO lines. + +- ``gpioset`` - Set values of specified GPIO lines, and potentially keep the lines exported and wait until timeout, user input or signal. + +:::{note} +For ``GPIO2_B6``, To set GPIO as High X=1 and Low X=0, + +``sudo gpioset gpiochip2 14=`` + +where, 14 is GPIO Line ( 78 - 64 ) +::: + +- ``gpiofind`` - Find the GPIO chip name and line offset given the line name. + +- ``gpiomon`` - Wait for events on GPIO lines, specifying which events to watch, how many events to process before exiting or if the events should be reported to the console. + +### How to change Functionality of GPIO Pin Like, UART, I2C etc ? + +For that, we will soon provide `overlay`, on `vicharak-config`. + + + +:::{seealso} +https://en.wikipedia.org/wiki/General-purpose_input/output +::: diff --git a/source/vicharak_sbcs/axon-lite/peripherals/i2c.rst b/source/vicharak_sbcs/axon-lite/peripherals/i2c.rst new file mode 100644 index 00000000..6c477b3a --- /dev/null +++ b/source/vicharak_sbcs/axon-lite/peripherals/i2c.rst @@ -0,0 +1,190 @@ +############## +I2C +############## + +.. variable + +.. _Axon Lite GPIO Header: https://docs.vicharak.in/vicharak_sbcs/axon-lite/axon-lite-gpio-description/#axon-lite-gpios-header + +.. warning:: + + We recommend to use Vicharak 6.1 kernel and latest `Debian 13 trixie + `_ , in order to support below overlays. Flash Image + using this :doc:`Documentation
` + + .. code:: + + sudo apt update + sudo apt reinstall linux-image-6.1.75-axon-lite linux-headers-6.1.75-axon-lite + +Introduction +------------ + +I2C is a multi-master, multi-slave, packet-switched, single-ended serial communication bus. It's widely used for communication between microcontrollers and low-speed peripherals like sensors, EEPROMs, and real-time clocks. I2C operates with two lines: + + - SCL (Serial Clock Line): Provides the clock for the communication. + + - SDA (Serial Data Line): Transfers the data. + +- Axon Lite has **6** I2C protocols on the 40-Pin GPIO Header: ``I2C0``, ``I2C3``, ``I2C4``, ``I2C7``, ``I2C8``, and ``I2C9``. + +.. note:: + + Using these I2C pins on the header involves a trade-off, as these pins are multiplexed with other functionalities on the board (e.g., SPI, UART, PWM). + +.. tip:: + To get more information on `Axon Lite GPIO Header`_. + + +Key features of I2C include: +--------------------------- + +- Addressable Devices: Each device connected to the I2C bus has a unique 7- or 10-bit address. + +- Simplicity: Requires only two wires, which simplifies the layout. + +- Data Speeds: Operates at standard modes (100 kbps), fast modes (400 kbps), and high-speed modes (up to 3.4 Mbps). + +- Multi-master: Allows multiple masters to control the bus. + + +.. How to use GPIO Pins as I2C Protocol ? +.. ---------------------------------------- +.. +.. **Steps to follow for Configuration** +.. +.. 1. Open a terminal window (``Ctrl+Alt+T``). +.. +.. 2. Run command ``sudo vicharak-config`` in it. +.. +.. 3. Select ``Overlays`` options in it by pressing ``enter`` key. +.. +.. .. code-block:: console +.. +.. ┌───────────────────────────────────┤ VICHARAK_CONFIG ├────────────────────────-───────────┐ +.. │ Please select an option below: │ +.. │ │ +.. │ System Maintanince │ +.. │ Hardware │ +.. │ Overlays │ +.. │ Connectivity │ +.. │ Advanced Options │ +.. │ User Settings │ +.. │ Localization │ +.. │ About │ +.. │ │ +.. │ │ +.. │ │ +.. └──────────────────────────────────────────────────────────────────────────────────────────┘ +.. +.. +.. 4. You will see Warning Page, click on ``yes`` and select ``Manage Overlays`` options. +.. +.. +.. .. code-block:: console +.. +.. +.. ┌───────────────────────────────────┤ VICHARAK_CONFIG ├────────────────────────────────────┐ +.. │ Configure Device Tree Overlay │ +.. │ │ +.. │ Manage overlays │ +.. │ View overlay info │ +.. │ Install 3rd party overlay │ +.. │ Reset overlays │ +.. │ │ +.. │ │ +.. │ │ +.. └──────────────────────────────────────────────────────────────────────────────────────────┘ +.. +.. +.. 5. Select overlays as per your requirement ``( I2C3 / I2C4 / I2C7 / I2C9 )`` by pressing ``spacebar`` on keyboard, then select ``Ok``. +.. +.. .. code-block:: console +.. +.. ┌──────────────────────────────────┤ VICHARAK_CONFIG ├─────────────────────────────────────┐ +.. │ Please select overlays: │ +.. │ │ +.. │ [ ] Enable DP connector-split mode Axon Lite V0.3 │ +.. │ [ ] Enable RasPi Camera V1.3 (OV5647) on CSI0 D0,1 dphy1 Axon Lite V0.3 │ +.. │ [ ] Enable RasPi Camera V1.3 (OV5647) on CSI0 D2,3 dphy2 Axon Lite V0.3 │ +.. │ [ ] Enable RasPi Camera V1.3 (OV5647) on CSI1 D0,1 dphy4 Axon Lite V0.3 │ +.. │ [ ] Enable RasPi Camera V1.3 (OV5647) on CSI1 D2,3 dphy5 Axon Lite V0.3 │ +.. │ [ ] Enable RasPi Camera V1.3 (OV5647) on dphy RX0 Axon Lite V0.3 │ +.. │ [ ] Enable RasPi camera V1.3 (OV5647) on dphy RX1 Axon Lite V0.3 │ +.. │ [*] Enable I2C3 on 40-Pin GPIO Header Axon Lite V0.3 │ +.. │ [ ] Enable I2C4 on 40-Pin GPIO Header Axon Lite V0.3 │ +.. │ [ ] Enable I2C7 on 40-Pin GPIO Header Axon Lite V0.3 │ +.. │ [ ] Enable I2C9 on 40-Pin GPIO Header Axon Lite V0.3 │ +.. │ [ ] Enable PWM0 on 40-Pin GPIO Header Axon Lite V0.3 │ +.. │ [ ] Enable PWM1_M0 on 40-Pin GPIO Header Axon Lite V0.3 │ +.. │ [ ] Enable PWM1_M0 on 40-Pin GPIO Header Axon Lite V0.3 │ +.. │ [ ] Enable UART1 on 40-Pin GPIO Header Axon Lite V0.3 │ +.. │ [ ] Enable UART4 on 40-Pin GPIO Header Axon Lite V0.3 │ +.. │ [ ] Enable UART6 on 40-Pin GPIO Header Axon Lite V0.3 │ +.. │ [ ] Enable Waveshare 4inch DSI LCD DPHY TX0 Axon Lite V0.3 │ +.. │ [ ] Enable Waveshare 4inch DSI LCD DPHY TX1 Axon Lite V0.3 │ +.. │ │ +.. │ │ +.. │ │ +.. │ │ +.. │ │ +.. │ │ +.. │ │ +.. └──────────────────────────────────────────────────────────────────────────────────────────┘ +.. +.. +.. 6. To return back to terminal, press the ``Esc`` key until you exit from it. +.. +.. 7. In order to enable your configuration, Restart your computer or Run command ``sudo reboot`` in terminal. +.. +.. +.. How to interact with the generated I2C's ? +.. ------------------------------------------- +.. +.. Now, you can see ``I2C`` devices, which are accessible through device nodes such as: +.. +.. .. code-block:: +.. +.. ls -l /dev/i2c-* +.. +.. +.. If you have turned on ``I2C3`` then you can get device like this ``/dev/i2c-3``. +.. +.. These ``i2c-*`` device nodes allow users to communicate with I2C peripherals such as sensors, EEPROMs, and other slave devices connected to the I2C bus. +.. +.. Simple set/get I2C values +.. ------------------------- +.. +.. To use the i2cset, i2cget, and i2cdetect commands, you need to install the i2c-tools package. These tools are part of the i2c-utils package, which provides user-space tools for interacting with I2C devices via the Linux I2C subsystem. +.. +.. .. code-block:: +.. +.. sudo apt install i2c-tools +.. +.. 1. **Identify I2C Buses and Devices:** +.. +.. - You can list available I2C buses using: +.. +.. .. code-block:: +.. +.. i2cdetect -l +.. +.. - In ``i2c-*``, where * represents an ``I2C`` bus number. For example, ``i2c-3`` can communicate with multiple devices, each identified by a unique 7-bit or 10-bit address. +.. +.. 2. **Detect I2C Devices on a Bus:** +.. +.. - To scan a particular bus for connected I2C devices, use: +.. +.. .. code-block:: +.. +.. sudo i2cdetect -y +.. +.. - ````: The I2C bus number (like 1 from the previous command). +.. +.. - For example, to scan bus ``1``: +.. +.. .. code-block:: +.. +.. sudo i2cdetect -y 1 +.. +.. - The output shows a grid with device addresses. Devices are listed by their 7-bit addresses. diff --git a/source/vicharak_sbcs/axon-lite/peripherals/index.rst b/source/vicharak_sbcs/axon-lite/peripherals/index.rst new file mode 100644 index 00000000..41f08279 --- /dev/null +++ b/source/vicharak_sbcs/axon-lite/peripherals/index.rst @@ -0,0 +1,20 @@ +#################################### +Peripherals +#################################### + + +Axon Lite supports a wide variety of peripherals to expand its functionality and integrate with additional hardware. Below is an overview of the key peripherals and their respective documentation: + + +.. toctree:: + :maxdepth: 1 + + RTC + GPIO + I2C + SPI + USB 2.0 + USB 3.0 + PWM + UART + PCIe 2.0 diff --git a/source/vicharak_sbcs/axon-lite/peripherals/pci2.rst b/source/vicharak_sbcs/axon-lite/peripherals/pci2.rst new file mode 100644 index 00000000..d20c57e0 --- /dev/null +++ b/source/vicharak_sbcs/axon-lite/peripherals/pci2.rst @@ -0,0 +1,202 @@ + +############## +PCIe 2.1 +############## + +.. warning:: + + We recommend using Vicharak 6.1 kernel and latest `Debian 13 trixie + `_ in order to support the overlays below. Flash Image using this :doc:`Documentation
` + + .. code:: + + sudo apt update + sudo apt reinstall linux-image-6.1.75-axon-lite linux-headers-6.1.75-axon-lite + +Introduction +------------ + +The Rockchip RK3576 processor featured on the Axon Lite includes two independent PCIe 2.1 controllers. Both controllers operate exclusively in **Root Complex (RC) mode** and provide high-speed data rates of up to 5 GT/s per lane. They are used for point-to-point communication with peripherals like NVMe SSDs, network cards, and expansion HATs. + +PCIe 2.1 utilizes the following signal lines for data transmission and control: + +- **Transmit Differential Pair (TX±)**: Carries high-speed data from the device to the host. +- **Receive Differential Pair (RX±)**: Carries high-speed data from the host to the device. +- **Reference Clock Pair (REFCLK±)**: Supplies a differential reference clock for data synchronization and serialization. +- **PCIe Reset (PERST#)**: Active-low signal to reset the PCIe interface logic on the device. +- **Wake Request (WAKE#, optional)**: Allows the device to signal the host to transition from a low-power state to an active state. +- **Clock Request (CLKREQ#, optional)**: Used by the device to request a clock from the host when transitioning from low-power to active state. + +.. _pcie2_0_implementation: + +PCIe 2.1 Implementation on Axon Lite +------------------------------------ + +Axon Lite provides support for 2 PCIe 2.1 (x1) Controllers. These controllers are operated by devices known as Combo PHYs, which share pins with other high-speed interfaces like SATA or USB 3.0. + +The following table explains the relationship between the Combo PHYs and the supported protocols on Axon Lite: + +.. list-table:: + :widths: 20 30 30 20 + :header-rows: 1 + :class: feature-table + + * - **PHY** + - **Supported Protocols** + - **Hardware Interface** + - **Constraints** + * - Combo PHY 0 + + ``combphy0_ps`` + - + PCIe 2.1: ``pcie0`` + + SATA: ``sata0`` + - Modular NVMe/SATA Connector + - PCIe and SATA are mutually exclusive + * - Combo PHY 1 + + ``combphy1_psu`` + - + PCIe 2.1: ``pcie1`` + + SATA: ``sata1`` + + USB3.0: ``usbhost_dwc3_0`` + - Swappable PCIe HAT Port + - All supported protocols can be used, but only one at a time + + +Modular NVMe/SATA Connector (PCIe 0) +==================================== + +The Axon Lite features a dedicated modular connector mapped to **PCIe 0** (Combo PHY 0). This is designed for high-speed storage devices. + +.. image:: /_static/images/rk3576-axon-lite/axon-lite-pcie-nvme.webp + :width: 80% + +Swappable PCIe Modular Port (PCIe 1) +==================================== + +For expansion, **PCIe 1** (Combo PHY 1) is routed to a modular port that supports swappable HAT modules. + +.. image:: /_static/images/rk3576-axon-lite/axon-lite-pcie-hat.webp + :width: 80% + +Various HATs can be mounted on this connector to expand the board's capabilities, including: +- Dual Ethernet HAT +- Ethernet + Dual USB 3.0 Hub HAT +- Quadruple USB 3.0 Hub HAT + +.. warning:: + A Combo PHY supports only one protocol at a time. + + For instance, if Combo PHY 1 is configured to operate as USB 3.0, it cannot simultaneously function as a PCIe interface. + However, if USB 3.0 is not in use, the same PHY can be reconfigured to support PCIe communication instead. + +.. _device-tree-overlays: + +Verifying Absence of Conflicting Device Tree Overlays +----------------------------------------------------- + +To use PCIe, you must ensure that no other overlays (such as SATA or USB 3.0) are conflicting with the Combo PHY you intend to use. + +**Steps to follow for Configuration** + +1. Open a terminal window (``Ctrl+Alt+T``). +2. Run command ``sudo vicharak-config`` in it. +3. Select ``Overlays`` options in it by pressing ``enter`` key. +4. You will see a Warning Page, click on ``yes`` and select ``Manage Overlays`` option. +5. Identify which Combo PHY your device is connected to. + + - For **Combo PHY 0** (NVMe/SATA port), ensure SATA overlays for PHY 0 are disabled if you intend to use PCIe (NVMe). + + - For **Combo PHY 1** (HAT port), ensure USB 3.0 and SATA overlays for PHY 1 are disabled if you intend to use a PCIe HAT. + +6. To return back to terminal, keep pressing the ``Esc`` key until you exit from it. +7. In order to enable your configuration, Restart your board or Run command ``sudo reboot`` in terminal. + +Checking success of PCIe Communication +====================================== + +.. warning:: + + Many embedded platforms and PCIe devices do not support hot plugging. Ensure the device is connected before powering on or initializing the board. + + Always load device-specific drivers and firmware. While the PCIe link may establish without drivers or firmware, most devices will not enumerate or function correctly unless the appropriate driver and firmware are installed. + +The ``lspci`` command can be used to check whether the PCIe device has completed training and a link has been established. + +.. code-block:: console + + vicharak@vicharak:~$ lspci + 00:00.0 PCI bridge: Rockchip Electronics Co., Ltd RK3576 (rev 01) + 01:00.0 Non-Volatile memory controller: YEESTOR Microelectronics Co., Ltd GDRAMARS GMT1000 NVMe SSD (DRAM-less) (rev 01) + 20:00.0 PCI bridge: Rockchip Electronics Co., Ltd RK3576 (rev 01) + 21:00.0 USB controller: VIA Technologies, Inc. VL805/806 xHCI USB 3.0 Controller (rev 01) + + +The ``dmesg | grep pcie`` command can be used to debug whether the PCIe link has been correctly initialized. The output shown below denotes successful initialization of PCIe Links for both controllers. + +.. code-block:: console + + vicharak@vicharak:~$ dmesg | grep pcie + [ 9.559855] rk-pcie 2a200000.pcie: max MSI vector is 32 + [ 9.559914] rk-pcie 2a200000.pcie: host bridge /pcie@2a200000 ranges: + [ 9.559965] rk-pcie 2a200000.pcie: err 0x0020000000..0x00200fffff -> 0x0020000000 + [ 9.560015] rk-pcie 2a210000.pcie: max MSI vector is 32 + [ 9.560014] rk-pcie 2a200000.pcie: IO 0x0020100000..0x00201fffff -> 0x0020100000 + [ 9.560035] rk-pcie 2a200000.pcie: MEM 0x0020200000..0x0020ffffff -> 0x0020200000 + [ 9.560060] rk-pcie 2a200000.pcie: MEM 0x0900000000..0x097fffffff -> 0x0900000000 + [ 9.560065] rk-pcie 2a210000.pcie: host bridge /pcie@2a210000 ranges: + [ 9.560084] rk-pcie 2a210000.pcie: err 0x0021000000..0x00210fffff -> 0x0021000000 + [ 9.560104] rk-pcie 2a210000.pcie: IO 0x0021100000..0x00211fffff -> 0x0021100000 + [ 9.560120] rk-pcie 2a210000.pcie: MEM 0x0021200000..0x0021ffffff -> 0x0021200000 + [ 9.560148] rk-pcie 2a210000.pcie: MEM 0x0980000000..0x09ffffffff -> 0x0980000000 + [ 9.560220] rk-pcie 2a200000.pcie: iATU unroll: enabled + [ 9.560242] rk-pcie 2a200000.pcie: iATU regions: 8 ob, 8 ib, align 64K, limit 8G + [ 9.560272] rk-pcie 2a210000.pcie: iATU unroll: enabled + [ 9.560289] rk-pcie 2a210000.pcie: iATU regions: 8 ob, 8 ib, align 64K, limit 8G + +.. note:: + + ``2a200000.pcie`` corresponds to PCIe 0 (Modular NVMe/SATA Port). + + ``2a210000.pcie`` corresponds to PCIe 1 (Swappable PCIe HAT Port). + +Testing NVMe Storage (PCIe 0) +----------------------------- + +Follow these steps to interface a NVMe device with Axon Lite: + +1. Verify proper overlay settings using the :ref:`guide ` to ensure SATA is not overriding Combo PHY 0. +2. Insert the NVMe into the Modular NVMe/SATA connector and ``reboot`` Axon Lite. + +.. code-block:: console + + vicharak@vicharak:~$ sudo reboot + +3. Use ``lspci`` to check PCIe Link Training Success. +4. Use ``lsblk`` to check if NVMe is listed under block devices. + +.. code-block:: console + + vicharak@vicharak:~$ lsblk | grep nvme + nvme0n1 259:0 0 119.2G 0 disk + ├─nvme0n1p1 259:1 0 4M 0 part + ├─nvme0n1p2 259:2 0 4M 0 part + ├─nvme0n1p3 259:3 0 512M 0 part + ├─nvme0n1p4 259:4 0 288M 0 part + ├─nvme0n1p5 259:5 0 256M 0 part + └─nvme0n1p6 259:6 0 118.2G 0 part + +5. If you have ``nvme-cli`` installed, you can use ``smart-log`` to test NVMe health: + +.. code-block:: console + + sudo nvme smart-log /dev/nvme0n1 + +.. warning:: + + The SSD works without manual driver or firmware installation as support is built into the kernel and the SSD has inbuilt firmware. + diff --git a/source/vicharak_sbcs/axon-lite/peripherals/pwm.rst b/source/vicharak_sbcs/axon-lite/peripherals/pwm.rst new file mode 100644 index 00000000..8a37d1d8 --- /dev/null +++ b/source/vicharak_sbcs/axon-lite/peripherals/pwm.rst @@ -0,0 +1,216 @@ + +############## +PWM +############## + + +.. _Axon Lite GPIO Header: https://docs.vicharak.in/vicharak_sbcs/axon-lite/axon-lite-gpio-description/#axon-lite-gpios-header + +.. warning:: + + We recommend to use Vicharak 6.1 kernel and latest `Debian 13 trixie + `_ , in order to support below overlays. Flash Image + using this :doc:`Documentation
` + + .. code:: + + sudo apt update + sudo apt reinstall linux-image-6.1.75-axon-lite linux-headers-6.1.75-axon-lite + +Introduction +----------- + +PWM stands for Pulse Width Modulation, a technique used to control the amount of power delivered to a device. PWM generates a digital signal that switches between high (on) and low (off) at a consistent frequency. The key characteristic of PWM is the "duty cycle," which represents the percentage of time the signal remains high in one cycle. + +- Axon Lite has ``6`` PWMs on ``PWM2 Channels`` (Channels 2, 3, 4, 5, 6, 7 with muxing). + +.. tip:: + To get more information on `Axon Lite GPIO Header`_. + +Understanding Duty Cycle in PWM +----------- + +A 50% duty cycle means the signal is high for half the time and low for the other half. + +A 100% duty cycle means the signal is always high. + +A 0% duty cycle means the signal is always low. + +Why Use PWM with GPIO? +--------------------- + +When a GPIO pin is configured for PWM, it allows you to generate a varying voltage or power level from a simple digital output. This configuration is useful for: + +- Controlling motors: PWM signals control motor speed by adjusting the duty cycle, which in turn regulates the average power delivered to the motor. + +- Dimming LEDs: Instead of using resistors or analog circuits, you can dim LEDs by controlling the duty cycle of the PWM signal. + +- Generating analog signals: Though PWM is a digital signal, when combined with filtering, it can approximate an analog voltage for use in certain types of analog circuits. + + +.. How to use GPIO Pins as PWM Protocol ? +.. ---------------------------------------- +.. +.. **Steps to follow for Configuration** +.. +.. 1. Open a terminal window (``Ctrl+Alt+T``). +.. +.. 2. Run command ``sudo vicharak-config`` in it. +.. +.. 3. Select ``Overlays`` options in it by pressing ``enter`` key. +.. +.. .. code-block:: console +.. +.. ┌───────────────────────────────────┤ VICHARAK_CONFIG ├────────────────────────-───────────┐ +.. │ Please select an option below: │ +.. │ │ +.. │ System Maintanince │ +.. │ Hardware │ +.. │ Overlays │ +.. │ Connectivity │ +.. │ Advanced Options │ +.. │ User Settings │ +.. │ Localization │ +.. │ About │ +.. │ │ +.. │ │ +.. │ │ +.. └──────────────────────────────────────────────────────────────────────────────────────────┘ +.. +.. +.. 4. You will see Warning Page, click on ``yes`` and select ``Manage Overlays`` options. +.. +.. +.. .. code-block:: console +.. +.. +.. ┌───────────────────────────────────┤ VICHARAK_CONFIG ├────────────────────────────────────┐ +.. │ Configure Device Tree Overlay │ +.. │ │ +.. │ Manage overlays │ +.. │ View overlay info │ +.. │ Install 3rd party overlay │ +.. │ Reset overlays │ +.. │ │ +.. │ │ +.. │ │ +.. └──────────────────────────────────────────────────────────────────────────────────────────┘ +.. +.. +.. +.. 5. Select overlays as per your requirement ``( PWM0 / PWM1_M0 / PWM1_M1 )`` by pressing ``spacebar`` on keyboard, then select ``Ok``. +.. +.. .. code-block:: console +.. +.. ┌──────────────────────────────────┤ VICHARAK_CONFIG ├─────────────────────────────────────┐ +.. │ Please select overlays: │ +.. │ │ +.. │ [ ] Enable DP connector-split mode Axon Lite V0.3 │ +.. │ [ ] Enable RasPi Camera V1.3 (OV5647) on CSI0 D0,1 dphy1 Axon Lite V0.3 │ +.. │ [ ] Enable RasPi Camera V1.3 (OV5647) on CSI0 D2,3 dphy2 Axon Lite V0.3 │ +.. │ [ ] Enable RasPi Camera V1.3 (OV5647) on CSI1 D0,1 dphy4 Axon Lite V0.3 │ +.. │ [ ] Enable RasPi Camera V1.3 (OV5647) on CSI1 D2,3 dphy5 Axon Lite V0.3 │ +.. │ [ ] Enable RasPi Camera V1.3 (OV5647) on dphy RX0 Axon Lite V0.3 │ +.. │ [ ] Enable RasPi camera V1.3 (OV5647) on dphy RX1 Axon Lite V0.3 │ +.. │ [ ] Enable UART1 on 40-Pin GPIO Header Axon Lite V0.3 │ +.. │ [ ] Enable UART6 on 40-Pin GPIO Header Axon Lite V0.3 │ +.. │ [ ] Enable UART6 on 40-Pin GPIO Header Axon Lite V0.3 │ +.. │ [ ] Enable PWM0 on 40-Pin GPIO Header Axon Lite V0.3 │ +.. │ [*] Enable PWM1_M0 on 40-Pin GPIO Header Axon Lite V0.3 │ +.. │ [ ] Enable PWM1_M1 on 40-Pin GPIO Header Axon Lite V0.3 │ +.. │ [ ] Enable Waveshare 4inch DSI LCD DPHY TX0 Axon Lite V0.3 │ +.. │ [ ] Enable Waveshare 4inch DSI LCD DPHY TX1 Axon Lite V0.3 │ +.. │ │ +.. │ │ +.. │ │ +.. │ │ +.. │ │ +.. │ │ +.. │ │ +.. └──────────────────────────────────────────────────────────────────────────────────────────┘ +.. +.. +.. 6. To return back to terminal, press the ``Esc`` key until you exit from it. +.. +.. 7. In order to enable your configuration, Restart your computer or Run command ``sudo reboot`` in terminal. +.. +.. +.. Configuring and Controlling PWM's chip +.. -------------------------------------- +.. +.. Befor you dive into below steps, make sure you are in root user. +.. +.. .. code-block:: +.. +.. sudo su +.. +.. +.. Each PWM chip manages a PWM channel. For example, you want control ``pwmchip0``. +.. +.. 1. **Export a PWM channel:** +.. +.. - For export a PWM channel of pwmchip0: +.. +.. .. code-block:: +.. +.. echo 0 > /sys/class/pwm/pwmchip0/export +.. +.. 2. **Enable a PWM channel and set duty_cycle and period:** +.. +.. - Set the period (in nanoseconds) +.. +.. - ``Period`` defines the total time for one cycle of the PWM signal. +.. +.. .. code-block:: +.. +.. echo 2000000 > /sys/class/pwm/pwmchip0/pwm0/period +.. +.. - Set the duty cycle (in nanoseconds) +.. - ``Duty_cycle`` cycle specifies how long the signal stays high during one period. +.. +.. .. code-block:: +.. +.. echo 1500000 > /sys/class/pwm/pwmchip0/pwm0/duty_cycle +.. +.. - Enable the PWM signal +.. - ``Enable`` starts the PWM output. +.. +.. .. code-block:: +.. +.. echo 1 > /sys/class/pwm/pwmchip0/pwm0/enable +.. +.. +.. +.. 3. **Disable a PWM channel:** +.. +.. - To stop the PWM output: +.. +.. .. code-block:: +.. +.. echo 0 > /sys/class/pwm/pwmchip0/pwm0/enable +.. +.. 4. **Unexport the PWM channel:** +.. +.. - When you’re done using the PWM channel, it's a good practice to unexport it: +.. +.. .. code-block:: +.. +.. echo 0 > /sys/class/pwm/pwmchip0/unexport +.. +.. Example of using the PWM protocol +.. ---------------------------------- +.. +.. This example demonstrates controlling a **3200 RPM DC motor** using the PWM (Pulse Width Modulation) protocol. +.. +.. - **Setting a higher duty cycle** increases the motor's speed. +.. - **Setting a lower duty cycle** decreases the motor's speed. +.. +.. The motor's rotation speed depends on the duty cycle — running faster with a higher value and slower with a lower value. +.. +.. 1. **Export a PWM Channel**: Prepares the PWM channel for motor control. +.. +.. 2. **Enable and Configure PWM**: Sets the period (cycle duration) and duty cycle (signal high time) to control motor speed, then starts the motor. +.. +.. 3. **Disable PWM**: Stops the motor by halting the output signal. +.. +.. 4. **Unexport PWM Channel**: Releases the PWM channel, resetting it for future use. diff --git a/source/vicharak_sbcs/axon-lite/peripherals/rtc.rst b/source/vicharak_sbcs/axon-lite/peripherals/rtc.rst new file mode 100644 index 00000000..7c7a0883 --- /dev/null +++ b/source/vicharak_sbcs/axon-lite/peripherals/rtc.rst @@ -0,0 +1,82 @@ +############## +RTC +############## + +The Axon Lite SBC includes a hardware Real-Time Clock (RTC) based on the **HYM8563** chip. +This RTC allows the system to keep accurate time even when the main power is turned off and preserves system time across reboots and power cycles. + + +Specification +-------------- + +- Connector Type: JST +- Pins: 2 +- Pitch: 1mm + +Hardware Details +---------------- + +- RTC Chip: HYM8563 + +.. image:: /_static/images/rk3576-axon-lite/axon-lite-rtc.webp + :width: 50% + + +Reference/Buy RTC +------------------ + +User can buy `Raspberry Pi compatible RTC Battery CR2032 `_ +with Rated Voltage 3V (Max Voltage 3.3V ) + + +Linux Support +------------- + +To verify detection: + +.. code-block:: bash + + dmesg | grep 8563 + +Expected output: + +:: + + rtc-hym8563 ... registered as rtc0 + +Usage +----- + +Check RTC time: + +.. code-block:: bash + + sudo hwclock --show + +Sync system time to RTC: + +.. code-block:: bash + + sudo hwclock --systohc + +Sync RTC time to system: + +.. code-block:: bash + + sudo hwclock --hctosys + +Notes +----- + +- Interface: I2C0 +- Typical I2C Address: 0x51 +- RTC requires a backup battery to retain time when powered off +- Without a battery, time will reset after power loss +- Ensure I2C0 is enabled in the device tree for RTC functionality + +Warnings +-------- + +- Ensure correct battery polarity before connecting +- Use a compatible RTC battery with the JST connector +- Do not exceed the recommended voltage rating diff --git a/source/vicharak_sbcs/axon-lite/peripherals/spi.rst b/source/vicharak_sbcs/axon-lite/peripherals/spi.rst new file mode 100644 index 00000000..2df31bf2 --- /dev/null +++ b/source/vicharak_sbcs/axon-lite/peripherals/spi.rst @@ -0,0 +1,296 @@ + +############## +SPI +############## + +.. _Axon Lite GPIO Header: https://docs.vicharak.in/vicharak_sbcs/axon-lite/axon-lite-gpio-description/#axon-lite-gpios-header + +.. warning:: + + We recommend to use Vicharak 6.1 kernel and latest `Debian 13 trixie + `_ , in order to support below overlays. Flash Image + using this :doc:`Documentation ` + + .. code:: + + sudo apt update + sudo apt reinstall linux-image-6.1.75-axon-lite linux-headers-6.1.75-axon-lite + +Introduction +------------ + +SPI (Serial Peripheral Interface) is a widely used protocol for communication between microcontrollers and peripheral +devices like sensors, displays, and memory devices. Typically, SPI involves dedicated pins such as MOSI (Master Out +Slave In), MISO (Master In Slave Out), SCLK (Serial Clock), and SS (Slave Select). +In Axon Lite, general-purpose I/O (GPIO) pins can be repurposed to function as SPI pins. + +Axon Lite provides **2** SPI protocols (``SPI1`` and ``SPI3``) on the GPIO Header. + +.. tip:: + To get more information on `Axon Lite GPIO Header`_. + + +.. Make Simple spidev3.0 device +.. ---------------------------- +.. +.. How to use GPIO Pins as SPI Protocol ? +.. ====================================== +.. +.. **Steps to follow for Configuration** +.. +.. 1. Open a terminal window (``Ctrl+Alt+T``). +.. +.. 2. Run command ``sudo vicharak-config`` in it. +.. +.. 3. Select ``Overlays`` options in it by pressing ``enter`` key. +.. +.. .. code-block:: console +.. +.. ┌───────────────────────────────────┤ VICHARAK_CONFIG ├────────────────────────-───────────┐ +.. │ Please select an option below: │ +.. │ │ +.. │ System Maintanince │ +.. │ Hardware │ +.. │ Overlays │ +.. │ Connectivity │ +.. │ Advanced Options │ +.. │ User Settings │ +.. │ Localization │ +.. │ About │ +.. │ │ +.. │ │ +.. │ │ +.. └──────────────────────────────────────────────────────────────────────────────────────────┘ +.. +.. +.. 4. You will see Warning Page, click on ``yes`` and select ``Manage Overlays`` options. +.. +.. +.. .. code-block:: console +.. +.. +.. ┌───────────────────────────────────┤ VICHARAK_CONFIG ├────────────────────────────────────┐ +.. │ Configure Device Tree Overlay │ +.. │ │ +.. │ Manage overlays │ +.. │ View overlay info │ +.. │ Install 3rd party overlay │ +.. │ Reset overlays │ +.. │ │ +.. │ │ +.. │ │ +.. └──────────────────────────────────────────────────────────────────────────────────────────┘ +.. +.. +.. +.. 5. Select overlays ``( SPI3 )`` by pressing ``spacebar`` on keyboard, then select ``Ok``. +.. +.. .. code-block:: console +.. +.. ┌──────────────────────────────────┤ VICHARAK_CONFIG ├─────────────────────────────────────┐ +.. │ Please select overlays: │ +.. │ │ +.. │ [ ] Enable DP connector-split mode Axon Lite V0.3 │ +.. │ [ ] Enable RasPi Camera V1.3 (OV5647) on CSI0 D0,1 dphy1 Axon Lite V0.3 │ +.. │ [ ] Enable RasPi Camera V1.3 (OV5647) on CSI0 D2,3 dphy2 Axon Lite V0.3 │ +.. │ [ ] Enable RasPi Camera V1.3 (OV5647) on CSI1 D0,1 dphy4 Axon Lite V0.3 │ +.. │ [ ] Enable RasPi Camera V1.3 (OV5647) on CSI1 D2,3 dphy5 Axon Lite V0.3 │ +.. │ [ ] Enable RasPi Camera V1.3 (OV5647) on dphy RX0 Axon Lite V0.3 │ +.. │ [ ] Enable RasPi camera V1.3 (OV5647) on dphy RX1 Axon Lite V0.3 │ +.. │ [ ] Enable I2C3 on 40-Pin GPIO Header Axon Lite V0.3 │ +.. │ [ ] Enable I2C4 on 40-Pin GPIO Header Axon Lite V0.3 │ +.. │ [ ] Enable I2C7 on 40-Pin GPIO Header Axon Lite V0.3 │ +.. │ [ ] Enable I2C9 on 40-Pin GPIO Header Axon Lite V0.3 │ +.. │ [ ] Enable PWM0 on 40-Pin GPIO Header Axon Lite V0.3 │ +.. │ [ ] Enable PWM1_M0 on 40-Pin GPIO Header Axon Lite V0.3 │ +.. │ [ ] Enable PWM1_M0 on 40-Pin GPIO Header Axon Lite V0.3 │ +.. │ [*] Enable SPI3 on 40-Pin GPIO Header Axon Lite V0.3 │ +.. │ [ ] Enable UART1 on 40-Pin GPIO Header Axon Lite V0.3 │ +.. │ [ ] Enable UART4 on 40-Pin GPIO Header Axon Lite V0.3 │ +.. │ [ ] Enable UART6 on 40-Pin GPIO Header Axon Lite V0.3 │ +.. │ [ ] Enable Waveshare 4inch DSI LCD DPHY TX0 Axon Lite V0.3 │ +.. │ [ ] Enable Waveshare 4inch DSI LCD DPHY TX1 Axon Lite V0.3 │ +.. │ │ +.. │ │ +.. │ │ +.. │ │ +.. │ │ +.. │ │ +.. │ │ +.. └──────────────────────────────────────────────────────────────────────────────────────────┘ +.. +.. 6. To return back to terminal, press the ``Esc`` key until you exit from it. +.. +.. 7. In order to enable your configuration, Restart your computer or Run command ``sudo reboot`` in terminal. +.. +.. Check generated Device +.. ====================== +.. +.. 1. Open terminal. ( ``Ctrl + Alt + t`` ) +.. 2. Run below command : +.. +.. .. code:: +.. +.. ls -l /dev/spidev* +.. +.. You will find ``/dev/spidev3.0`` device is created in ``/dev`` directory. +.. +.. ENC28J60 Ethernet Controller with SPI Support +.. --------------------------------------------- +.. +.. The ENC28J60 is a standalone Ethernet controller with an SPI (Serial Peripheral Interface) bus, designed by Microchip Technology. It is widely used to provide Ethernet connectivity to microcontrollers and embedded systems that do not have built-in Ethernet capabilities. +.. +.. .. tip:: +.. +.. You can get more details from `ENC28J60 Datasheet `_ +.. +.. +.. .. image:: /_static/images/ENC28J60.webp +.. :width: 50% +.. +.. Physical Connection +.. ==================== +.. +.. .. list-table:: +.. :widths: 20 40 +.. :header-rows: 1 +.. :class: feature-table +.. +.. * - **ENC28J60 Pin** +.. - **Axon Lite Header GPIO Pin** +.. * - GND +.. - Pin 14 +.. * - 3.3V +.. - Pin 17 +.. * - SO ( Slave Out ) +.. - Pin 21 ( GPIO3_D5 ) +.. * - SI ( Slave In ) +.. - Pin 19 ( GPIO3_D6 ) +.. * - CS ( Chip select ) +.. - Pin 24 ( GPIO3_D7 ) +.. * - SCK ( Clock ) +.. - Pin 23 ( GPIO3_D4 ) +.. * - INT ( Interrupt ) +.. - Pin 22 ( GPIO2_B4 ) +.. +.. Turn on overlay +.. =============== +.. +.. **Steps to follow for Configuration** +.. +.. 1. Open a terminal window (``Ctrl+Alt+T``). +.. +.. 2. Run command ``sudo vicharak-config`` in it. +.. +.. 3. Select ``Overlays`` options in it by pressing ``enter`` key. +.. +.. .. code-block:: console +.. +.. ┌───────────────────────────────────┤ VICHARAK_CONFIG ├────────────────────────-───────────┐ +.. │ Please select an option below: │ +.. │ │ +.. │ System Maintanince │ +.. │ Hardware │ +.. │ Overlays │ +.. │ Connectivity │ +.. │ Advanced Options │ +.. │ User Settings │ +.. │ Localization │ +.. │ About │ +.. │ │ +.. │ │ +.. │ │ +.. └──────────────────────────────────────────────────────────────────────────────────────────┘ +.. +.. +.. 4. You will see Warning Page, click on ``yes`` and select ``Manage Overlays`` options. +.. +.. +.. .. code-block:: console +.. +.. +.. ┌───────────────────────────────────┤ VICHARAK_CONFIG ├────────────────────────────────────┐ +.. │ Configure Device Tree Overlay │ +.. │ │ +.. │ Manage overlays │ +.. │ View overlay info │ +.. │ Install 3rd party overlay │ +.. │ Reset overlays │ +.. │ │ +.. │ │ +.. │ │ +.. └──────────────────────────────────────────────────────────────────────────────────────────┘ +.. +.. +.. +.. 5. Select overlay of ``( ENC28J60 Ethernet Controller With SPI )`` by pressing ``spacebar`` on keyboard, then select ``Ok``. +.. +.. .. code-block:: console +.. +.. ┌──────────────────────────────────┤ VICHARAK_CONFIG ├─────────────────────────────────────┐ +.. │ Please select overlays: │ +.. │ │ +.. │ [ ] Enable DP connector-split mode Axon Lite V0.3 │ +.. │ [ ] Enable RasPi Camera V1.3 (OV5647) on CSI0 D0,1 dphy1 Axon Lite V0.3 │ +.. │ [ ] Enable RasPi Camera V1.3 (OV5647) on CSI0 D2,3 dphy2 Axon Lite V0.3 │ +.. │ [ ] Enable RasPi Camera V1.3 (OV5647) on CSI1 D0,1 dphy4 Axon Lite V0.3 │ +.. │ [ ] Enable RasPi Camera V1.3 (OV5647) on CSI1 D2,3 dphy5 Axon Lite V0.3 │ +.. │ [ ] Enable RasPi Camera V1.3 (OV5647) on dphy RX0 Axon Lite V0.3 │ +.. │ [ ] Enable RasPi camera V1.3 (OV5647) on dphy RX1 Axon Lite V0.3 │ +.. │ [ ] Enable I2C3 on 40-Pin GPIO Header Axon Lite V0.3 │ +.. │ [ ] Enable I2C4 on 40-Pin GPIO Header Axon Lite V0.3 │ +.. │ [ ] Enable I2C7 on 40-Pin GPIO Header Axon Lite V0.3 │ +.. │ [ ] Enable I2C9 on 40-Pin GPIO Header Axon Lite V0.3 │ +.. │ [ ] Enable PWM0 on 40-Pin GPIO Header Axon Lite V0.3 │ +.. │ [ ] Enable PWM1_M0 on 40-Pin GPIO Header Axon Lite V0.3 │ +.. │ [ ] Enable PWM1_M0 on 40-Pin GPIO Header Axon Lite V0.3 │ +.. │ [ ] Enable SPI3 on 40-Pin GPIO Header Axon Lite V0.3 │ +.. │ [*] Enable SPI3 ENC28J60 Ethernet Controller support on 40-Pin GPIO Header Axon Lite V0.3 │ +.. │ [ ] Enable UART1 on 40-Pin GPIO Header Axon Lite V0.3 │ +.. │ [ ] Enable UART4 on 40-Pin GPIO Header Axon Lite V0.3 │ +.. │ [ ] Enable UART6 on 40-Pin GPIO Header Axon Lite V0.3 │ +.. │ [ ] Enable Waveshare 4inch DSI LCD DPHY TX0 Axon Lite V0.3 │ +.. │ [ ] Enable Waveshare 4inch DSI LCD DPHY TX1 Axon Lite V0.3 │ +.. │ │ +.. │ │ +.. │ │ +.. │ │ +.. │ │ +.. │ │ +.. │ │ +.. └──────────────────────────────────────────────────────────────────────────────────────────┘ +.. +.. 6. To return back to terminal, press the ``Esc`` key until you exit from it. +.. +.. 7. In order to enable your configuration, Restart your computer or Run command ``sudo reboot`` in terminal. +.. +.. Check ethernet interface +.. ======================== +.. +.. You can get one more interface other than default ethernet interface. As in our case, ``eth1`` is generated. +.. +.. .. code:: +.. +.. vicharak@vicharak:~$ ip a +.. 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 +.. link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 +.. inet 127.0.0.1/8 scope host lo +.. valid_lft forever preferred_lft forever +.. inet6 ::1/128 scope host noprefixroute +.. valid_lft forever preferred_lft forever +.. 2: dummy0: mtu 1500 qdisc noop state DOWN group default qlen 1000 +.. link/ether 52:71:ea:c2:44:2c brd ff:ff:ff:ff:ff:ff +.. 3: end1: mtu 1500 qdisc mq state UP group default qlen 1000 +.. link/ether 6e:21:27:df:96:f8 brd ff:ff:ff:ff:ff:ff +.. 4: eth1: mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 1000 +.. link/ether 52:3b:9c:26:d3:c4 brd ff:ff:ff:ff:ff:ff +.. inet 192.168.1.46/24 brd 192.168.1.255 scope global dynamic noprefixroute eth1 +.. valid_lft 86177sec preferred_lft 86177sec +.. inet6 2401:4900:1f3f:e774:bed3:3a12:c3c4:9a5f/64 scope global temporary dynamic +.. valid_lft 84992sec preferred_lft 84992sec +.. inet6 2401:4900:1f3f:e774:9b4:6c9d:8709:8f9f/64 scope global dynamic mngtmpaddr noprefixroute +.. valid_lft 84992sec preferred_lft 84992sec +.. inet6 fe80::10a3:96a7:93bb:9554/64 scope link noprefixroute +.. valid_lft forever preferred_lft forever +.. 5: wlan0: mtu 1500 qdisc mq state DOWN group default qlen 1000 +.. link/ether 40:f4:c9:94:85:18 brd ff:ff:ff:ff:ff:ff diff --git a/source/vicharak_sbcs/axon-lite/peripherals/uart.rst b/source/vicharak_sbcs/axon-lite/peripherals/uart.rst new file mode 100644 index 00000000..4b0917a4 --- /dev/null +++ b/source/vicharak_sbcs/axon-lite/peripherals/uart.rst @@ -0,0 +1,236 @@ + +############## +UART +############## + + +.. variable + +.. _Axon Lite GPIO Header: https://docs.vicharak.in/vicharak_sbcs/axon-lite/axon-lite-gpio-description/#axon-lite-gpios-header + +.. warning:: + + We recommend to use Vicharak 6.1 kernel and latest `Debian 13 trixie + `_ , in order to support below overlays. Flash Image + using this :doc:`Documentation ` + + .. code:: + + sudo apt update + sudo apt reinstall linux-image-6.1.75-axon-lite linux-headers-6.1.75-axon-lite + +Introduction +------------ + +Many embedded boards provide the flexibility to configure GPIO pins to function as UART interfaces, enabling communication between the board and peripheral devices such as sensors, displays, and computers. + +This guide explains how to configure GPIO pins as UART on Axon Lite 40-Pins GPIO Header. By converting GPIO pins into UART transmit (TX) and receive (RX) pins, the board can be used for serial communication, expanding the range of connected devices. This configuration is useful when there is no dedicated UART hardware interface available or when additional UART ports are needed. + +Axon Lite provides a total of **6** UARTs, including one specific ``UART0`` (Pin 8 and Pin 10) for debugging on the GPIO Header, and others like ``UART2``, ``UART3``, ``UART5``, ``UART7``, and ``UART8``. + +.. tip:: + To get more information on `Axon Lite GPIO Header`_. + +.. How to use GPIO Pins as UART Protocol ? +.. ---------------------------------------- +.. +.. **Steps to follow for Configuration** +.. +.. 1. Open a terminal window (``Ctrl+Alt+T``). +.. +.. 2. Run command ``sudo vicharak-config`` in it. +.. +.. 3. Select ``Overlays`` options in it by pressing ``enter`` key. +.. +.. .. code-block:: console +.. +.. ┌───────────────────────────────────┤ VICHARAK_CONFIG ├────────────────────────-───────────┐ +.. │ Please select an option below: │ +.. │ │ +.. │ System Maintanince │ +.. │ Hardware │ +.. │ Overlays │ +.. │ Connectivity │ +.. │ Advanced Options │ +.. │ User Settings │ +.. │ Localization │ +.. │ About │ +.. │ │ +.. │ │ +.. │ │ +.. └──────────────────────────────────────────────────────────────────────────────────────────┘ +.. +.. +.. 4. You will see Warning Page, click on ``yes`` and select ``Manage Overlays`` options. +.. +.. +.. .. code-block:: console +.. +.. +.. ┌───────────────────────────────────┤ VICHARAK_CONFIG ├────────────────────────────────────┐ +.. │ Configure Device Tree Overlay │ +.. │ │ +.. │ Manage overlays │ +.. │ View overlay info │ +.. │ Install 3rd party overlay │ +.. │ Reset overlays │ +.. │ │ +.. │ │ +.. │ │ +.. └──────────────────────────────────────────────────────────────────────────────────────────┘ +.. +.. +.. +.. 5. Select overlays as per your requirement ``( UART1 / UART4 / UART6 )`` by pressing ``spacebar`` on keyboard, then select ``Ok``. +.. +.. .. code-block:: console +.. +.. ┌──────────────────────────────────┤ VICHARAK_CONFIG ├─────────────────────────────────────┐ +.. │ Please select overlays: │ +.. │ │ +.. │ [ ] Enable PWM2_CH2_M3 on 40-Pin GPIO Header Axon Lite V0.1 │ +.. │ [ ] Enable PWM2_CH3_M3 on 40-Pin GPIO Header Axon Lite V0.1 │ +.. │ [ ] Enable PWM2_CH4_M2 on 40-Pin GPIO Header Axon Lite V0.1 │ +.. │ [ ] Enable PWM2_CH5_M2 on 40-Pin GPIO Header Axon Lite V0.1 │ +.. │ [ ] Enable PWM2_CH6_M3 on 40-Pin GPIO Header Axon Lite V0.1 │ +.. │ [ ] Enable PWM2_CH7_M3 on 40-Pin GPIO Header Axon Lite V0.1 │ +.. │ [ ] Enable Sata0 support on Combo PHY 0 on Axon Lite V0.1 │ +.. │ [ ] Enable Sata1 support on Combo PHY 1 on Axon Lite V0.1 │ +.. │ [ ] Enable UART5 on 40-Pin GPIO Header Axon Lite V0.1 │ +.. │ [ ] Enable USB3.0 support on Combo PHY 1 on Axon Lite V0.1 │ +.. │ [ ] Enable can3m3 on 40-Pin GPIO Header Axon Lite V0.1 │ +.. │ [ ] Enable sai0 on 40-Pin GPIO Header Axon Lite V0.1 │ +.. │ [ ] Enable sai1m1 on 40-Pin GPIO Header Axon Lite V0.1 │ +.. │ [ ] Enable sai3m2 on 40-Pin GPIO Header Axon Lite V0.1 │ +.. │ [ ] Enable spi1 on 40-Pin GPIO Header Axon V0.3 │ +.. │ [ ] Enable spi3 on 40-Pin GPIO Header axon-lite V0.1 │ +.. │ [ ] Enable spi3m0 on 40-Pin GPIO Header Axon Lite V0.1 │ +.. │ [ ] Enable uart7 on 40-Pin GPIO Header Axon Lite V0.1 │ +.. │ [ ] Enable uart8m0 on 40-Pin GPIO Header Axon Lite V0.1 │ +.. │ [ ] Enable uart8m1 on 40-Pin GPIO Header Axon Lite V0.1 │ +.. │ [ ] Enable uart8m2 on 40-Pin GPIO Header Axon Lite V0.1 │ +.. │ │ +.. │ │ +.. │ │ +.. └──────────────────────────────────────────────────────────────────────────────────────────┘ +.. +.. 6. To return back to terminal, press the ``Esc`` key until you exit from it. +.. +.. 7. In order to enable your configuration, Restart your computer or Run command ``sudo reboot`` in terminal. +.. +.. How to check tty serial device ? +.. -------------------------------- +.. +.. 1. Open terminal. ( ``Ctrl + Alt + t`` ) +.. 2. Run below command : +.. +.. .. code:: +.. +.. ls -l /dev/ttyS* +.. +.. If you have turned on ``UART1`` then device ``/dev/ttyS1`` will be generated. +.. +.. .. note:: +.. /dev/ttyS9 device is specific for bluetooth, you can find another devices. +.. +.. +.. Example +.. ----------- +.. +.. **UART 1 Configuration** +.. +.. .. list-table:: +.. :widths: 20 40 130 +.. :header-rows: 1 +.. :class: feature-table +.. +.. * - **Serial (USB To UART Module) FTDI Pin** +.. - **Header GPIO Pin** +.. - **Schematic Name** +.. * - GND +.. - Pin 8 +.. - GND +.. * - TX +.. - Pin 10 (GPIO2_B6) +.. - UART1_RX_M0 +.. * - RX +.. - Pin 12 (GPIO2_B7) +.. - UART1_TX_M0 +.. +.. +.. .. .. image:: /_static/images/rk3576-axon-lite/axon-lite-gpio-uart1.webp +.. .. :width: 50% +.. +.. +.. Running the Serial Console Program +.. ------- +.. +.. .. tab-set:: +.. +.. .. tab-item:: Linux GTK-TERM (GUI) +.. +.. 1. Install GTK-Term +.. +.. .. code-block:: +.. +.. sudo apt update +.. sudo apt install gtkterm +.. +.. 2. Open the GTK-Term program and configure the serial parameters. +.. +.. .. code-block:: +.. +.. sudo gtkterm +.. +.. - On the **Configuration** menu, click on **Port**. +.. - Select the serial port number and configure the serial parameters as +.. shown in the image below. +.. +.. .. .. image:: /_static/images/rk3576-axon-lite/axon-lite-gpio-uart-gtkterm.webp +.. .. :width: 50% +.. +.. 3. Click on the **OK** button to open the serial console. +.. +.. 4. You will now be able to access the serial console. +.. +.. .. note:: +.. Set Port and Baudrate according to peripheral requirement. +.. +.. .. tab-item:: Minicom ( CLI ) +.. +.. 1. Install Minicom +.. +.. .. code-block:: +.. +.. sudo apt update +.. sudo apt install minicom +.. +.. 2. Open Minicom +.. +.. .. code-block:: +.. +.. sudo minicom -b -D /dev/ttyS +.. +.. .. note:: +.. +.. -b is for Baud Rate. +.. +.. -D is for UART tty device. +.. +.. To Close Minicom Type, ``Ctrl + A`` then ``z``, And Press ``q`` and Select ``Enter``. +.. +.. +.. .. tab-item:: WINDOWS - PuTTY (GUI) +.. +.. 1. Download and install the `PuTTY `_ program. +.. +.. 2. Open the PuTTY program and configure the serial parameters as shown in the image below. +.. +.. .. image:: /_static/images/Putty_step.webp +.. :width: 50% +.. +.. 3. Click on the **Open** button to open the serial console. +.. +.. 4. You will now be able to access the serial console. +.. +.. diff --git a/source/vicharak_sbcs/axon-lite/peripherals/usb2.rst b/source/vicharak_sbcs/axon-lite/peripherals/usb2.rst new file mode 100644 index 00000000..ec8c9239 --- /dev/null +++ b/source/vicharak_sbcs/axon-lite/peripherals/usb2.rst @@ -0,0 +1,130 @@ + +####### +USB 2.0 +####### + +.. _usb_usage_linux: + +Axon Lite has two USB **2.0 port** ( **480 Mbps** ). This guide explains how to use and inspect USB 2.0 interfaces on a Linux system. + +.. image:: /_static/images/rk3576-axon-lite/axon-lite-usb2.webp + :width: 74% + +Basic Utilities and Commands +============================ + +List Connected USB Devices +-------------------------- + +Use ``lsusb`` to display information about USB buses and the devices connected to them. + +.. code-block:: bash + + vicharak@vicharak:~$ lsusb -t + /: Bus 003.Port 001: Dev 001, Class=root_hub, Driver=ehci-platform/1p, 480M + /: Bus 004.Port 001: Dev 001, Class=root_hub, Driver=ohci-platform/1p, 12M + /: Bus 005.Port 001: Dev 001, Class=root_hub, Driver=ohci-platform/1p, 12M + /: Bus 006.Port 001: Dev 001, Class=root_hub, Driver=ehci-platform/1p, 480M + |__ Port 001: Dev 005, If 0, Class=Mass Storage, Driver=usb-storage, 480M + + +What it shows: + +- USB Bus number (Bus 003, 004, 005 and 006) + +- Device number (Device 001) + +- Vendor ID and Product ID + +- Manufacturer and device name + +To get verbose information: + +.. code-block:: bash + + lsusb -v + +To filter by a specific device ID: + +.. code-block:: bash + + lsusb -d : + +.. _usb-debug: + +USB Device Speed and Topology +----------------------------- + +Use `usb-devices` to print detailed information: + +.. code-block:: bash + + usb-devices + +Or read from `/sys` directly: + +.. code-block:: bash + + cat /sys/bus/usb/devices/usb*/speed + +Mount USB Storage Devices +------------------------- + +Check kernel log after device is plugged in: + +.. code-block:: bash + + dmesg | grep -i usb + +Find your device (e.g., `/dev/sda1`) and mount it: + +.. code-block:: bash + + sudo fdisk -l + sudo mount /dev/sda1 /mnt + +To unmount: + +.. code-block:: bash + + sudo umount /mnt + +Live USB Debugging +------------------- + +Use ``dmesg`` to view logs: + +.. code-block:: bash + + dmesg | grep -i usb + +.. code-block:: bash + + dmesg -w # watch live + +USB Command Reference +===================== + +This section lists common Linux commands used to interact with USB devices. + ++----------------+-------------------------------+ +| **Command** | **Description** | ++================+===============================+ +| ``lsusb`` | List USB devices | ++----------------+-------------------------------+ +| ``usb-devices``| Detailed USB device info | ++----------------+-------------------------------+ +| ``dmesg`` | Kernel logs and hotplug info | ++----------------+-------------------------------+ +| ``mount`` | Mount USB storage device | ++----------------+-------------------------------+ + + + +.. note:: + + Speed values: + - `1.5` Mbps - USB 1.1 (Low Speed) + - `12` Mbps - USB 1.1 (Full Speed) + - `480` Mbps - USB 2.0 (High Speed) + - `5000` Mbps - USB 3.0 / USB 3.1 Gen1 (SuperSpeed) diff --git a/source/vicharak_sbcs/axon-lite/peripherals/usb3.rst b/source/vicharak_sbcs/axon-lite/peripherals/usb3.rst new file mode 100644 index 00000000..d8d20b2c --- /dev/null +++ b/source/vicharak_sbcs/axon-lite/peripherals/usb3.rst @@ -0,0 +1,113 @@ +############# +USB 3.1 Gen1 +############# + +Axon Lite board includes one USB Type-C port, supporting USB 3.1 Gen 1 (5 Gbps) and DisplayPort output. +This guide explains how to use and inspect the Type-C USB 3.1 Gen1 interface on a Linux system. + +.. image:: /_static/images/rk3576-axon-lite/axon-lite-usb3.webp + :width: 80% + +.. important:: + + Axon Lite supports extra USB 3.0 outputs using our :doc:`Quadruple USB 3.0 Hub HAT <../axon-lite-accessories/axon-lite-quad-usb3>` and :doc:`Ethernet and Dual USB 3.0 Hub HAT <../axon-lite-accessories/axon-lite-ethernet-usb3>` modules! + +Basic Utilities and Commands +============================ + +List Connected USB Devices +-------------------------- + +Use ``lsusb`` to displays information about USB buses and the devices connected to them. + +.. code-block:: bash + + /home/vicharak# lsusb -t + /: Bus 001.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/1p, 480M + |__ Port 001: Dev 002, If 0, Class=Hub, Driver=hub/4p, 480M + /: Bus 002.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/4p, 5000M + |__ Port 004: Dev 002, If 0, Class=Mass Storage, Driver=usb-storage, 5000M + /: Bus 003.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/1p, 480M + /: Bus 004.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/1p, 5000M + +What it shows: + +- USB Bus number (Bus 007, 008) + +- Device number (Device 001) + +- Vendor ID and Product ID (0bda:8153) + +- Manufacturer and device name + +.. note:: + + In the output above, **Bus 002 Device 002** (a Mass Storage device, like a pen drive) is operating at SuperSpeed (**5000M** or 5 Gbps). This device is connected to a high-speed USB interface routed through the PCIe bus via a HAT. + + Users can easily expand their system with additional high-speed USB 3.0 ports using a USB PCIe HAT. Because these hubs interface directly over the high-bandwidth PCIe bus, they offer significantly faster data transfer rates (up to 5 Gbps) compared to standard USB 2.0 hubs (480 Mbps), avoiding any bottlenecks for high-speed peripherals. + + For more information on expanding with PCIe HATs, see our :doc:`../axon-lite-accessories` guide, which includes details on our Ethernet/Dual USB 3.0 Hub HAT and Quadruple USB 3.0 Hub HAT. + +To get verbose information: + +.. code-block:: bash + + lsusb -v + +To filter by a specific device ID: + +.. code-block:: bash + + lsusb -d : + +.. note:: + + Also See: :ref:`usb-debug`. + +Host/Device Mode detection +--------------------------- + +- USB DRD (Dual-Role Device) + ++--------------------------------------+-------------------------------+ +| **USB controller's base address** | **Description** | ++======================================+===============================+ +| ``23000000.usb`` | Type-C0 | ++--------------------------------------+-------------------------------+ + +Go into ``root`` user by running ``su`` command. Default root password is ``root``. + +.. code-block:: bash + + cat /sys/kernel/debug/usb/23000000.usb/mode + +It gives you on which mode usb port act as. + +- If user has connected pendrive to Axon Lite on the Type-C Port, it acts as ``host`` mode. +- If user has connected Axon Lite to Host pc on the Type-C Port, it acts as ``device`` mode. + +USB Command Reference +===================== + +This section lists common Linux commands used to interact with USB devices. + ++----------------+-------------------------------+ +| **Command** | **Description** | ++================+===============================+ +| ``lsusb`` | List USB devices | ++----------------+-------------------------------+ +| ``usb-devices``| Detailed USB device info | ++----------------+-------------------------------+ +| ``dmesg`` | Kernel logs and hotplug info | ++----------------+-------------------------------+ +| ``mount`` | Mount USB storage device | ++----------------+-------------------------------+ + + +.. note:: + + Speed values: + - `1.5` Mbps - USB 1.1 (Low Speed) + - `12` Mbps - USB 1.1 (Full Speed) + - `480` Mbps - USB 2.0 (High Speed) + - `5000` Mbps - USB 3.0 / USB 3.1 Gen1 (SuperSpeed) diff --git a/source/vicharak_sbcs/axon-lite/power-sources.rst b/source/vicharak_sbcs/axon-lite/power-sources.rst new file mode 100644 index 00000000..52d97117 --- /dev/null +++ b/source/vicharak_sbcs/axon-lite/power-sources.rst @@ -0,0 +1,55 @@ +.. _axon-lite-power-sources: + +Power Sources +============= + +Power Rating +------------ + +.. important:: + + - **Minimum Power:** 5W (5V @ 1A or 12V @ 0.42A) + - **Recommended Power:** 10W (5V @ 2A or 12V @ 0.83A) + + If you are connecting all peripherals, such as Cameras, Displays, USB, HDMI, PCIe etc. the power requirement will range between **15W-25W** (up to 5V @ 5A or 12V @ 2.1A). This is necessary when the board is running at full load. + +The Axon Lite board offers multiple versatile power options to suit various use cases. Below are the 5 supported power sources: + +1. 12V Power Source (Dedicated Type-C PD Port) +---------------------------------------------- +You can power the board using a 12V adapter through the dedicated Type-C PD port. + +- **Minimum Power:** 5W +- **Recommended Power:** 10W +- **Maximum Power:** 25W + +.. image:: ../../_static/images/rk3576-axon-lite/axon-lite-power-details.webp + :width: 60% + +2. 5V Power Source (Dedicated Type-C PD Port) +--------------------------------------------- +The same dedicated Type-C PD port can also accept a 5V power source. + +.. image:: ../../_static/images/rk3576-axon-lite/axon-lite-5v-power.webp + :width: 60% + +3. Type-C/DP Port Power +----------------------- +The standard Type-C/DP port can also be used to power the board with a standard PD adapter. + +.. image:: ../../_static/images/rk3576-axon-lite/axon-lite-typeC-power.webp + :width: 60% + +4. Power Over Ethernet (PoE) +---------------------------- +Axon Lite supports Power over Ethernet (PoE), allowing you to deliver both data and power over a single Ethernet cable. This is highly useful for deployments where electrical outlets are scarce, such as remote camera installations, IoT gateways, and headless servers. + +.. image:: ../../_static/images/rk3576-axon-lite/axon-lite-power-over-ethernet.webp + :width: 60% + +5. Battery Power +---------------- +For portable or backup power applications, the board features a 3.7V battery connector. + +.. image:: ../../_static/images/rk3576-axon-lite/axon-lite-battery-power.webp + :width: 60% diff --git a/source/vicharak_sbcs/axon-lite/storage/emmc.rst b/source/vicharak_sbcs/axon-lite/storage/emmc.rst new file mode 100644 index 00000000..add19217 --- /dev/null +++ b/source/vicharak_sbcs/axon-lite/storage/emmc.rst @@ -0,0 +1,46 @@ +############# +eMMC +############# + +.. image:: /_static/images/rk3576-axon-lite/axon-lite-emmc.webp + :width: 80% + +The Vicharak-Axon Lite board exposes an eMMC 5.1 device connected to the SoC's MMC controller. It offers three capacity options: 32GB / 64GB / 128GB. The interface provides persistent storage for the operating system, user data, and diagnostics. eMMC 5.1 offers reliable multi-block read/write, boot partitions, and compatibility with standard MMC/SDHCI stacks in modern Linux kernels. + +Hardware interface and pinout +----------------------------- + +The eMMC interface is wired to the SoC MMC controller with the following essential signals: + +- CMD: command/response line +- CLK: clock input +- DAT[0:7]: data lines (8-bit bus) +- VCC: core/eMMC supply +- VCCQ: I/O supply for the eMMC interface +- GND: ground reference +- RST: reset + +Boot behavior and partitions +---------------------------- + +`You can find eMMC Flashing Guide here (Vicharak Docs) `_ + +Formatting and partitioning +--------------------------- + +- Partition the eMMC using standard partitioning tools (fdisk, sfdisk) +- Create filesystems as needed (ext4, btrfs, f2fs, etc.) + +Software integration +-------------------- + +- Linux kernel MMC/SDHCI driver drives the eMMC interface and exposes the device as /dev/mmcblkX (and /dev/mmcblkXpN), use the command "lsblk" +- Device-tree entries describe the MMC controller, bus width, clock rates, and supply rails +- If using the eMMC as root filesystem, plan the partition layout accordingly and ensure bootloader configuration points to the correct root device + +Troubleshooting +--------------- + +- If the eMMC is not detected, check kernel logs for MMC/SD/SDHCI messages to identify initialization or timing issues +- Ensure there are no contention issues with other peripherals sharing the same MMC controller +- Check for broken tracks or other hardware issues diff --git a/source/vicharak_sbcs/axon-lite/storage/index.rst b/source/vicharak_sbcs/axon-lite/storage/index.rst new file mode 100644 index 00000000..39dace1c --- /dev/null +++ b/source/vicharak_sbcs/axon-lite/storage/index.rst @@ -0,0 +1,12 @@ +#################################### +Storage +#################################### + +Below are the available storage options: + +.. toctree:: + :maxdepth: 1 + + eMMC 5.1 + Micro SD Card + UFS 3.1 diff --git a/source/vicharak_sbcs/axon-lite/storage/microsd.rst b/source/vicharak_sbcs/axon-lite/storage/microsd.rst new file mode 100644 index 00000000..69315647 --- /dev/null +++ b/source/vicharak_sbcs/axon-lite/storage/microsd.rst @@ -0,0 +1,37 @@ +############# +Micro SD Card +############# + +.. image:: /_static/images/rk3576-axon-lite/axon-lite-SDCard.webp + :width: 80% + +The Micro SD Card slot on the vicharak-axon-lite board provides non-volatile storage for the system, user data, logs, and optional bootable images. Cards are accessed through the board’s SD host interface and are powered from the board’s 3.3 V rail. Use high-quality, reputable microSD cards to ensure reliable operation. + +Card preparation and usage +-------------------------- +- Recommended card quality: Use a reliable card from a reputable brand. +- Card formatting for data storage: If you plan to use the card for data storage (not for boot), format with FAT32 (for cards up to 32 GB) or exFAT (for larger cards) if OS support on the board permits. +- Bootable OS images: Use only images provided or endorsed by Vicharak. Write the image to the card using a card writer utility on your host computer. +- After flashing, insert the card and power on the board to boot. + +Flashing OS images and boot +--------------------------- +1) Obtain the official image for the vicharak-axon-lite board and the desired OS variant from the project’s distribution page. +2) Write the image to the microSD card: + `You can find SD Card Flashing Guide here (Vicharak Docs) `_ +3) After flashing, safely eject the card, insert it into the vicharak-axon-lite board, and power up. +4) If the image does not boot, verify that you downloaded the correct image for your board revision and that the card was written to the correct device. Check boot logs via serial console if available. +5) For data partitions used by the OS after boot, the file system type will be determined by the OS image (commonly ext4 for Linux root). + +Troubleshooting +--------------- + +- Card not detected: Verify card seating, try a different card, and ensure the board is powered. Check for any obstruction or any breakage on the chip seating. +- Slow performance or frequent I/O errors: Use a high-quality, Class 10 or UHS-I card. Avoid counterfeit cards. Re‑flash the OS image if you suspect image corruption. +- Boot failures: Ensure you are using the correct OS image for your board revision and that you flashed the image to the correct device. Check for required boot media order if the board supports recovery modes. + +Notes +----- + +- Do not force-remove the card while the board is powered or the filesystem is mounted. Eject safely through the OS or power down first. +- If you encounter issues not covered here, consult the project’s support channels or Vicharak's Discord channel for help with microSD on the vicharak-axon-lite board. \ No newline at end of file diff --git a/source/vicharak_sbcs/axon-lite/storage/ufs.rst b/source/vicharak_sbcs/axon-lite/storage/ufs.rst new file mode 100644 index 00000000..ef9b476a --- /dev/null +++ b/source/vicharak_sbcs/axon-lite/storage/ufs.rst @@ -0,0 +1,27 @@ +############# +UFS 3.1 +############# + +.. warning:: + This accessory/storage option is coming soon. + +.. image:: /_static/images/rk3576-axon-lite/axon-lite-ufs.webp + :width: 70% + :align: center + +.. note:: + Connect the UFS storage module while Axon Lite is powered off to avoid any damage. + +The Axon Lite will support UFS (Universal Flash Storage) 3.1, providing ultra-fast storage capabilities. UFS 3.1 brings SSD-like performance to embedded devices, offering significantly higher read and write speeds compared to traditional eMMC or MicroSD storage options. + +Basic Specifications of UFS 3.1 +=============================== + +- **High-Speed Data Transfer:** Supports data transfer rates up to 2.9 GB/s (23.2 Gbps) per lane. +- **Full-Duplex Interface:** Allows simultaneous read and write operations, drastically reducing latency. +- **Low Power Consumption:** Advanced power management features make it highly power-efficient, ideal for embedded and mobile devices. +- **Deep Sleep State:** Introduced in UFS 3.1 to ensure minimal power drain when inactive. +- **Write Booster:** Enhances sequential write speeds by using a pseudo-SLC cache. +- **Host Performance Booster (HPB):** Caches the logical-to-physical address map in the system's DRAM for faster read performance on high-capacity drives. + +*More detailed usage guides and instructions will be available once the UFS module is officially released.* diff --git a/source/vicharak_sbcs/axon-mini/audio/index.rst b/source/vicharak_sbcs/axon-mini/audio/index.rst new file mode 100644 index 00000000..b5cbe933 --- /dev/null +++ b/source/vicharak_sbcs/axon-mini/audio/index.rst @@ -0,0 +1,149 @@ +.. _axon-mini-audio: + +################### +Audio Interface +################### + +.. TODO: Add Axon Mini audio documentation + +This section covers audio capabilities of Axon Mini. + +.. toctree:: + :glob: + :maxdepth: 3 + :titlesonly: + +Audio Details +============= + +.. TODO: Add Axon Mini audio interface information + +For audio-related questions: + +- Check hardware documentation +- Visit `Vicharak Community `_ + +Headphone Output +---------------- + +- 1 dedicated headphone jack +- Stereo output for headphones + +HDMI Audio +---------- + +- Audio over HDMI output +- Integrated with HDMI display output + +DisplayPort Audio +----------------- + +- Audio over USB-C DisplayPort +- Integrated with DisplayPort output + +Audio Inputs +============ + +Microphone Input +---------------- + +- 1 analog microphone input +- Single-ended input + +Headphone/Microphone Jack +-------------------------- + +- Combination input/output option available on some models + +Line-In +------- + +- 1 analog line-in input +- For connecting external audio sources + +Audio Configuration +=================== + +ALSA Configuration +------------------ + +Advanced Linux Sound Architecture configuration + +PulseAudio +---------- + +Audio server and daemon configuration + +Volume Control +============== + +Master Volume +------------- + +Per-Device Volume +----------------- + +Audio Input Levels +------------------ + +Recording Audio +=============== + +Using Linux Audio Recording Tools +--------------------------------- + +- ALSA record utilities +- ffmpeg for recording +- Other recording software + +Audio Formats Support +===================== + +Supported Codecs +---------------- + +- PCM (WAV) +- MP3 +- FLAC +- AAC +- Vorbis +- And more + +Sample Rates +------------ + +- 8 kHz to 192 kHz or higher + +Bit Depths +---------- + +- 8-bit, 16-bit, 24-bit, 32-bit + +Troubleshooting +=============== + +No Audio Output +--------------- + +Audio Input Not Working +----------------------- + +Audio Quality Issues +-------------------- + +Driver and Kernel Module Issues +------------------------------- + +For additional support: + +- Check kernel logs: ``dmesg | grep -i audio`` +- List audio devices: ``aplay -l`` and ``arecord -l`` +- Check ALSA mixer: ``alsamixer`` + +Community Support +================= + +For audio-related issues and questions, visit: + +- `Vicharak Community `_ +- Linux Audio Documentation diff --git a/source/vicharak_sbcs/axon-mini/axon-mini-accessories.rst b/source/vicharak_sbcs/axon-mini/axon-mini-accessories.rst new file mode 100644 index 00000000..b03f008c --- /dev/null +++ b/source/vicharak_sbcs/axon-mini/axon-mini-accessories.rst @@ -0,0 +1,60 @@ +.. _axon-mini-accessories: + +####################### +Axon Mini Accessories +####################### + +************************ + In the box accessories +************************ +.. TODO: Add respective Links +.. grid:: 1 1 2 2 + + .. grid-item-card:: Power Delivery (PD) PD Cable + :link: ../common/common-accessories/pd-cable + :link-type: doc + :shadow: md + + Power Delivery (PD) Cable for Axon Mini +.. + .. grid-item-card:: Heat-Sink + :link: accessory-heatsink + :link-type: doc + :shadow: md +.. + Heat-Sink for Axon Mini + +********************** + Optional Accessories +********************** + +.. grid:: 1 1 2 2 + + + + .. grid-item-card:: Axon Mini Dual Ethernet HAT + :link: axon-mini-accessories/axon-mini-dual-ethernet + :link-type: doc + :shadow: md + + Dual Ethernet Expansion HAT for Axon Mini PCIe Port + + **Coming Soon** + + .. grid-item-card:: Axon Mini Ethernet and Dual USB3 HAT + :link: axon-mini-accessories/axon-mini-ethernet-usb3 + :link-type: doc + :shadow: md + + Ethernet and Dual USB 3.0 Hub HAT for Axon Mini PCIe Port + + **Coming Soon** + + .. grid-item-card:: Axon Mini Quadruple USB3 Hub HAT + :link: axon-mini-accessories/axon-mini-quad-usb3 + :link-type: doc + :shadow: md + + Quadruple USB 3.0 Hub HAT for Axon Mini PCIe Port + + **Coming Soon** diff --git a/source/vicharak_sbcs/axon-mini/axon-mini-accessories/axon-mini-dual-ethernet.rst b/source/vicharak_sbcs/axon-mini/axon-mini-accessories/axon-mini-dual-ethernet.rst new file mode 100644 index 00000000..4e7835a6 --- /dev/null +++ b/source/vicharak_sbcs/axon-mini/axon-mini-accessories/axon-mini-dual-ethernet.rst @@ -0,0 +1,33 @@ +:orphan: + +################################ +Axon Mini Dual Ethernet HAT +################################ + +.. warning:: + This accessory is coming soon. + +.. note:: + + This HAT is also compatible with Vicharak's Axon Lite. + +.. image:: /_static/images/rk3576-axon-lite/axon-lite-dual-ethernet.webp + :width: 70% + :align: center + +.. note:: + + Connect the Expansion board while Axon Mini is powered off to avoid any damage. + +The Axon Mini Dual Ethernet Expansion HAT is compatible with Axon Mini and can be easily installed to provide additional networking capabilities. It utilizes the PCIe port to add two Ethernet ports to your Axon Mini SBC, perfect for router applications, network bonding, and other advanced networking setups. + +Specifications: +---------------- + +- PCIe to Dual Ethernet Interface +- High-speed network transfer +- Uses Axon Mini PCIe Port + +`Using guide in Linux `_ + +`Available on Vicharak Store `_ diff --git a/source/vicharak_sbcs/axon-mini/axon-mini-accessories/axon-mini-ethernet-usb3.rst b/source/vicharak_sbcs/axon-mini/axon-mini-accessories/axon-mini-ethernet-usb3.rst new file mode 100644 index 00000000..129b3a44 --- /dev/null +++ b/source/vicharak_sbcs/axon-mini/axon-mini-accessories/axon-mini-ethernet-usb3.rst @@ -0,0 +1,35 @@ +:orphan: + +####################################### +Axon Mini Ethernet and Dual USB 3.0 HAT +####################################### + +.. warning:: + This accessory is coming soon. + +.. note:: + + This HAT is also compatible with Vicharak's Axon Lite. + +.. image:: /_static/images/rk3576-axon-lite/axon-lite-ethernet-usb3.webp + :width: 70% + :align: center + +.. note:: + + Connect the Expansion board while Axon Mini is powered off to avoid any damage. + +The Axon Mini Ethernet and Dual USB 3.0 Hub HAT is compatible with Axon Mini and provides a perfect combination of network and peripheral expansion. Utilizing the PCIe port, it adds a Gigabit Ethernet port along with two additional USB 3.0 ports to your Axon Mini SBC. + +Specifications: +---------------- + +- PCIe to Ethernet and 2x USB 3.0 Interface +- High-speed data and network transfer +- Uses Axon Mini PCIe Port + +`Using guide in Linux (Ethernet) `_ + +`Using guide in Linux (USB 3.0) `_ + +`Available on Vicharak Store `_ diff --git a/source/vicharak_sbcs/axon-mini/axon-mini-accessories/axon-mini-quad-usb3.rst b/source/vicharak_sbcs/axon-mini/axon-mini-accessories/axon-mini-quad-usb3.rst new file mode 100644 index 00000000..02c3b5d6 --- /dev/null +++ b/source/vicharak_sbcs/axon-mini/axon-mini-accessories/axon-mini-quad-usb3.rst @@ -0,0 +1,33 @@ +:orphan: + +##################################### +Axon Mini Quadruple USB 3.0 Hub HAT +##################################### + +.. warning:: + This accessory is coming soon. + +.. note:: + + This HAT is also compatible with Vicharak's Axon Lite. + +.. image:: /_static/images/rk3576-axon-lite/axon-lite-quad-usb.webp + :width: 70% + :align: center + +.. note:: + + Connect the Expansion board while Axon Mini is powered off to avoid any damage. + +The Axon Mini Quadruple USB 3.0 Hub HAT is compatible with Axon Mini and can be easily installed to expand USB connectivity. It allows you to connect up to four additional USB 3.0 devices to your Axon Mini SBC, utilizing the PCIe port for high-speed data transfer. + +Specifications: +---------------- + +- PCIe to 4x USB 3.0 Interface +- High-speed data transfer +- Uses Axon Mini PCIe Port + +`Using guide in Linux `_ + +`Available on Vicharak Store `_ diff --git a/source/vicharak_sbcs/axon-mini/axon-mini-downloads.rst b/source/vicharak_sbcs/axon-mini/axon-mini-downloads.rst new file mode 100644 index 00000000..19d08435 --- /dev/null +++ b/source/vicharak_sbcs/axon-mini/axon-mini-downloads.rst @@ -0,0 +1,91 @@ +.. _axon-mini-downloads: + +Axon Mini Downloads +=================== + +OS Images +--------- + +.. list-table:: + :widths: 25 100 + :header-rows: 1 + + - - **Operating System** + - **Variant** + - - Debian + - Trixie 13 + - - Ubuntu + - **Coming Soon** + - - Community Images + - **Coming Soon** + +.. note:: + + The images are compressed using XZ. You can use `7zip `_ or + `WinRAR `_ to extract the file. + + For **Linux**, you can use the following command to extract the image: + + .. code-block:: console + + xz -d .xz + + + +.. seealso:: + + How to flash the image to the board using + :doc:`axon-mini-linux/linux-usage-guide/index` + + Also check :doc:`axon-mini-getting-started` + + +OS Utilities +------------ +.. list-table:: + :widths: 25 100 + :header-rows: 1 + + - - **Utility** + - **Download Link** + - - QDL Tool + - + +SoC Documents +------------- +.. TODO: Add datasheet and TRM documents +.. list-table:: + :widths: 25 100 + :header-rows: 1 + + - - **File** + - **Download Link** + + - - Qualcomm SoC and BSP Documents + - + +Axon Mini Pin-outs Guide +------------------------ +.. TODO: Add link for Axon Mini Pinout / 3D File + +Mechanical Information +---------------------- +.. list-table:: + :widths: 25 100 + :header-rows: 1 + + - - **Property** + - **Value** + - - Dimensions + - + - - Weight + - + - - Mounting holes + - + +| + +.. TODO: Update the respective links +.. seealso:: + + :ref:`Frequently Asked Questions ` diff --git a/source/vicharak_sbcs/axon-mini/axon-mini-faq.rst b/source/vicharak_sbcs/axon-mini/axon-mini-faq.rst new file mode 100644 index 00000000..99f44e16 --- /dev/null +++ b/source/vicharak_sbcs/axon-mini/axon-mini-faq.rst @@ -0,0 +1,61 @@ +.. _axon-mini-faq: + +Frequently Asked Questions +========================== + +How to take logs +---------------- + +.. tab-set:: + + .. tab-item:: Windows + + - Connect the device to the PC and use the :ref:`Serial Console Tool ` to open the serial port of the device. + + - Once the serial port is opened, Take the kernel and user space logs by running the following commands in the serial port tool. + + .. code-block:: bash + + sudo dmesg > dmesg.txt + sudo tar -cvzf system-logs.tar.gz /var/log + + - Once the logs are taken, close the serial port tool and disconnect the device from the PC. + + - Attach the logs to the issue. + + .. note:: + If the device is not booting up, then take the logs from the serial port tool and attach it to the issue. + + .. tab-item:: Linux + + - Connect the device to the PC and use the :ref:`Serial Console Tool ` to open the serial port of the device. + + - Once the serial port is opened, Take the kernel and user space logs by running the following commands in the serial port tool. + + .. code-block:: bash + + sudo dmesg > dmesg.txt + sudo tar -cvzf system-logs.tar.gz /var/log + + - Once the logs are taken, close the serial port tool and disconnect the device from the PC. + + - Attach the logs to the issue. + + .. note:: + If the device is not booting up, then take the logs from the serial port tool and attach it to the issue. + +Does Axon Mini have an FPGA? +---------------------------- +No + +How to report a bug +------------------- + +For reporting a bug, please follow the following template: + +**Issues and Questions Template** + +1. Describe the problem +2. Peripherals Connected +3. Take Logs (``_) +4. Post your issue on `discuss.vicharak.in `_ diff --git a/source/vicharak_sbcs/axon-mini/axon-mini-getting-started.rst b/source/vicharak_sbcs/axon-mini/axon-mini-getting-started.rst new file mode 100644 index 00000000..c704e203 --- /dev/null +++ b/source/vicharak_sbcs/axon-mini/axon-mini-getting-started.rst @@ -0,0 +1,327 @@ +.. _axon-mini-getting-started: + +Getting Started +############### + +For Axon Mini, Vicharak has provided all the necessary accessories and +information to get started with the board. This section will guide you through +the initial setup process and provide you with the necessary information to get +started with Axon Mini. + +What's in the box? +================== + +1. **Axon Mini** + - Single-board computer optimized for high-performance computing and AI. + - Powered by Qualcomm Dragonwing QCS6490 SoC (octa-core Qualcomm® Kryo™ 670 CPU). + - 8GB/16GB LPDDR5 RAM, 32GB eMMC storage, 40-Pin GPIO header. + - Pre-installed with Debian 13 (Trixie). + +2. **PD Cable** + - Supplies power to Axon Mini. + - Ensures stable and efficient power delivery via USB-C with Power Delivery technology. + +What else do you need? +====================== + +**1. Compatible Power Source (see :ref:`axon-mini-power-sources`)** + +**2. HDMI or Type-C DP cable to drive Display Monitor** + +**3. USB2.0 Keyboard and Mouse** + +**4. Monitor with HDMI/Type-C DP input** + +**5. USB-C to USB-A Male cable (optional)** + +**6. 30-Pin GPIO FPC (optional)** + +**7. Internet Connection (optional)** + +**8. USB to TTL Serial Cable (optional)** + +.. note:: + | The items listed above are not included in the box. + | You can purchase them from the :ref:`axon-mini-accessories` page. + +Axon Mini OS Images +=================== + + :ref:`axon-mini-downloads` + +Axon Mini OS Credentials +======================== + +.. note:: + Username : vicharak + + Password : 12345 + +- To Go to into ``root`` user, Type ``su`` terminal and Default Password is ``root``. + +Axon Mini Button Guide +====================== + +.. TODO: Add Axon Mini keys/button guide image +.. + .. image:: ../../_static/images/qcs6490-axon-mini/axon-mini-keys-guide.webp + :width: 70% + + +1. Power Button + You can turn on Axon Mini with the power button if it is currently off. When the board is powered off the red LED will on to + let you know that the board has proper power supply. If you press the power button ( for 1-2 seconds ) then the board will start booting + up. + +2. Reset Button + You can reboot Axon Mini by pressing reset button. + +3. EDL Button + EDL button is used to put Axon Mini into Emergency Download (EDL) Mode for firmware flashing and recovery. + +.. note:: + | *To get Axon Mini into EDL Mode*, hold the EDL button while powering on / connecting power to the board, then release the EDL button. + | The board will enter Emergency Download Mode (also known as Qualcomm 9008 / QDL mode). + +Getting Started with eMMC +========================= + +Turning board on +---------------- + +Axon Mini comes pre-loaded with **Debian** (``Trixie``) operating system on +its ``eMMC`` (embedded MultiMediaCard) storage, and it also offers support for +``UFS`` boot mode. + +If users wish to explore different operating systems, they must utilize the +appropriate firmware to program the board accordingly. + +For the purpose of this guide, we will focus on the ``eMMC`` storage and the +pre-installed ``Debian (Trixie)``. For UFS boot, see the Available Boot Modes +section below. + +Connect a compatible power adapter to the Axon Mini board. Once the power is connected, the board will automatically turn on. + +For a comprehensive list of all supported power methods, including 12V PD, 5V, Battery, and PoE, please see the :ref:`axon-mini-power-sources` page. + +.. TODO: Add Axon Mini power details image +.. + .. image:: ../../_static/images/qcs6490-axon-mini/axon-mini-power-details.webp + :width: 60% + +Axon Mini is pre-installed with Debian (``Trixie``) on its eMMC storage. +So, when you power on the board, it will boot from the eMMC storage by default. + +Verify the power LED +-------------------- + +Upon connecting the power cable, the activation of the **Red LED** serves as an +immediate visual indicator of the board's power status. This LED signifies that +the Axon Mini is receiving power, and its illumination provides users with a +tangible confirmation of the successful power connection. + +.. TODO: Add Axon Mini power LED image +.. + .. image:: ../../_static/images/qcs6490-axon-mini/axon-mini-power-led.webp + :width: 50% + +Verify the status LED +--------------------- + +The activation of the **status LED**, marked by a blinking pattern, signifies +the completion of the booting process. This visual cue assures users that the +Axon Mini has successfully booted from its storage medium and is ready for further +configuration. + +.. TODO: Add Axon Mini status LED image +.. + .. image:: ../../_static/images/qcs6490-axon-mini/axon-mini-leds.webp + :width: 50% + +.. warning:: + | + | Please ensure you wait for the system to complete its reboot. + | This is necessary because the system requires configuration adjustments + | before you proceed to the next step. Taking the time to allow the system to + | finish restarting ensures that it is fully set up for the subsequent tasks. + +Available Boot Modes +==================== + +Booting from eMMC +----------------- + +Axon Mini boots from ``eMMC`` by default with the pre-installed Debian (``Trixie``) image. +Follow the **Getting Started with eMMC** section above. + +Booting from UFS +---------------- + +.. TODO: Add Axon Mini UFS boot guide + +To boot from UFS, please follow the guide below. + + .. TODO: Link Axon Mini UFS boot document here + +How to access your Axon Mini board ? +==================================== + +There are multiple ways to access your Axon Mini. You can connect the Axon Mini +SBC to a monitor using the **HDMI port**, or you can connect it to your +computer headless using **SSH** or **serial console**. + +For the initial setup process, we recommend connecting the Axon Mini to a +monitor using the **HDMI port**. Once the initial setup is complete, you can +connect the Axon Mini to your computer using the USB-C port. + +.. note:: + If you want to access the **serial console**, + Skip to the :ref:`Serial Console ` section. + + If you want to access the **Axon Mini using SSH**, + Skip to the :ref:`SSH ` section. + +1. Using HDMI port +------------------ + +Axon Mini is equipped with an **HDMI port**, which allows for easy +connection to a display. By using an HDMI cable, users +can connect Axon Mini to a monitor or TV with an HDMI input. + +This enables direct visual access to the graphical user interface (GUI) or +command-line interface (CLI) on the connected display. + +.. TODO: Add Axon Mini HDMI image +.. + .. image:: ../../_static/images/qcs6490-axon-mini/axon-mini-hdmi.webp + :width: 50% + +Connect the HDMI cable to the Axon Mini and the monitor. +Once the cable is connected, the Axon Mini will automatically detect the +monitor and display the output. + +You can also use the **Type-C DisplayPort** interface as an alternate display output. + +.. admonition:: Check out Linux Documentation + :class: tip + + Once the Axon Mini is connected to the monitor, you can follow the + :doc:`Axon Mini Linux Documentation ` to continue setup. + +.. _axon-mini-serial-console: + +2. Using Serial Console +----------------------- + +Axon Mini also provides a serial interface, typically in the form of UART +(Universal Asynchronous Receiver-Transmitter) pins. + +Users can access the system's console or terminal interface by connecting to +these serial pins using a serial cable or adapter. This method is often used +for debugging, troubleshooting, or accessing the system when other interfaces +are not available. + +Preparation +``````````` + +To access Axon Mini through the serial interface, you will need the following: + +- A computer with a serial terminal application installed + (such as PuTTY or minicom). +- A USB to UART serial cable or adapter (such as FTDI or PL2303). +- USB-C cable. +- 3 Pin Jumper Wire ( Tx, Rx and GND ) + +.. warning:: + + When UART (FTDI/PL2303) is connected to Axon Mini, and Axon Mini is poweroff. It requires to disconnect it from Axon Mini, in order to turn on Axon Mini Again. + +Hardware Setup +`````````````` + +1. Connect the USB to UART serial cable or adapter to your computer. + +2. Connect the serial cable or adapter to Axon Mini. + +.. list-table:: + :widths: 20 40 130 + :header-rows: 1 + :class: feature-table + + * - **Serial FTDI Pin** + - **Header GPIO Pin** + - **Schematic Name** + * - GND + - Pin 6 + - GND + * - RX + - Pin 8 + - UART12_TX + * - TX + - Pin 10 + - UART12_RX + +.. TODO: Add Axon Mini serial UART pins image +.. + .. image:: ../../_static/images/qcs6490-axon-mini/axon-mini-serial-uart-pins.webp + :width: 50% + +.. note:: + When accessing Axon Mini through the serial interface, it is important to + configure the serial parameters correctly. For QCS6490-based systems, + the following parameters are typically used: + + | Baud rate: `115200` + | Data bit: `8` + | Stop bit: `1` + | Parity check: `none` + | Flow control: `none` + +.. warning:: + | + | During the first boot you will see a warning on your serial console. + | So, please ensure that you wait for the system to complete its reboot. + | This is necessary because the system requires configuration adjustments + | before you proceed to the next step. Taking the time to allow the system to + | finish restarting ensures that it is fully set up for the subsequent tasks. + +Running the Serial Console Program +`````````````````````````````````` + +.. include:: ../common/common-serial-console-program.rst + +.. _axon-mini-ssh: + +3. Using SSH +------------ + +.. include:: ../common/common-ssh.rst + +Axon Mini Boot modes +==================== + +.. list-table:: + :widths: 20 40 + :header-rows: 1 + + * - **Boot Mode** + - **Description** + * - Normal Mode + - Normal boot mode is the default boot mode. In this mode, the board boots + from the `eMMC` or `UFS` storage. Each partition loads in order and enters + the system normally. + * - Fastboot Mode + - Fastboot mode is used for flashing and updating firmware partitions over USB. + In this mode, the bootloader waits for host-side fastboot commands. After a + successful update, the board can reboot into Normal Mode from `eMMC` or `UFS`. + * - EDL Mode + - | EDL (Emergency Download) mode is used to `repair` or reflash the board. + If the bootloader is damaged or the board fails to boot, Axon Mini can enter + EDL mode (also known as Qualcomm 9008 / QDL mode). + In this mode, the ROM code waits for the host to transmit the + flash programmer / firmware through the USB-C port using Qualcomm flash tools + (for example QDL). + +.. seealso:: + + :ref:`axon-mini-downloads` diff --git a/source/vicharak_sbcs/axon-mini/axon-mini-gpio-description.md b/source/vicharak_sbcs/axon-mini/axon-mini-gpio-description.md new file mode 100644 index 00000000..3251cee9 --- /dev/null +++ b/source/vicharak_sbcs/axon-mini/axon-mini-gpio-description.md @@ -0,0 +1,18 @@ +# Axon Mini GPIO Pin Configuration + +.. TODO: Add Axon Mini specific GPIO pin configuration + +This document will describe the GPIO pin configuration for Axon Mini. + +## GPIO Header + +.. TODO: Add Axon Mini GPIO header information + +## GPIO Specifications + +.. TODO: Add Axon Mini GPIO specifications + +## Related Documentation + +- Refer to official hardware documentation for accurate GPIO information +- Visit Vicharak community for support diff --git a/source/vicharak_sbcs/axon-mini/axon-mini-home.rst b/source/vicharak_sbcs/axon-mini/axon-mini-home.rst new file mode 100644 index 00000000..5228c1c4 --- /dev/null +++ b/source/vicharak_sbcs/axon-mini/axon-mini-home.rst @@ -0,0 +1,59 @@ +.. _axon-mini-home: + +############################################# + Welcome to Axon Mini's documentation! +############################################# + +**Axon Mini** powered by the Qualcomm's **QCS6490**, Axon Mini brings cutting-edge AI, computer vision, and edge computing capabilities into a compact, modular platform built for innovators. Whether you're developing next-generation robotics, smart cameras, industrial automation systems, or AI-powered products, Axon Mini delivers the performance, flexibility, and scalability needed for you usecase. + +.. grid:: 2 + + .. grid-item:: + + .. image:: /_static/images/qcs6490-axon-mini/axon-mini-top.webp + :width: 100% + :alt: axon-mini top + + + .. grid-item:: + + .. image:: /_static/images/qcs6490-axon-mini/axon-mini-back.webp + :width: 100% + :alt: axon-mini back + + +.. toctree:: + :glob: + :caption: Contents + :maxdepth: 5 + :titlesonly: + + + Overview + Getting Started + Power Sources + Axon Mini Linux Documentation + Connectivity + Storage + Peripherals + Display Interface + Audio Interface