{"id":411,"date":"2024-10-11T09:34:03","date_gmt":"2024-10-11T09:34:03","guid":{"rendered":"https:\/\/tipcontrol.com\/?page_id=411"},"modified":"2025-05-26T10:26:05","modified_gmt":"2025-05-26T10:26:05","slug":"driver_test","status":"publish","type":"page","link":"https:\/\/tipcontrol.com\/?page_id=411","title":{"rendered":"Quick Reference"},"content":{"rendered":"\n<head>\n  <title>Wiki Manager<\/title>\n  <!-- CSS code goes here -->\n  <link rel=\"stylesheet\" href=\"https:\/\/cdn.jsdelivr.net\/npm\/bootstrap@5.2.3\/dist\/css\/bootstrap.min.css\">\n  <!-- jQuery -->\n  <script src=\"https:\/\/ajax.googleapis.com\/ajax\/libs\/jquery\/3.6.0\/jquery.min.js\"><\/script>\n  <!-- Bootstrap JS -->\n  <script src=\"https:\/\/cdn.jsdelivr.net\/npm\/bootstrap@5.2.3\/dist\/js\/bootstrap.bundle.min.js\"><\/script>\n<\/head>\n\n<style>\n  .spacer {\n        width: 16px;\n        \/* Set the width of the spacer to 50 pixels *\/\n    }\n\n    span.truncate {\n        display: inline-block;\n        max-width: 100%;\n        overflow: hidden;\n        text-overflow: ellipsis;\n        white-space: nowrap;\n    }\n\n    \/* Define the custom selected style *\/\n    .custom-selected {\n        background-color: #007bff;\n        \/* Change to your desired background color *\/\n        color: #fff;\n        \/* Change to your desired text color *\/\n    }\n\n    \/* Custom CSS for better table styling *\/\n    .table {\n        width: 100%;\n        background-color: #fff;\n    }\n\n    .table th {\n        background-color: #f8f9fa;\n        text-align: center;\n    }\n\n    .table th,\n    .table td {\n        padding: 8px;\n        text-align: left; \/* Adjusted text alignment to left *\/\n    }\n\n    .table button {\n        width: 100%;\n    }\n\n    figure.table table {\n    width: 100%;\n    }\n<\/style>\n\n<body>\n  <div class=\"container mt-4\">\n    <div class=\"row\">\n\n\n      <!-- Driver List -->\n      <div class=\"col-md-4\">\n\n\n      <!-- Driver List -->\n        <h2>Lib List<\/h2>\n\t<ul class=\"list-group mb-3\">\n<li class=\"list-group-item\">\n                  <a href=\"#\" data-lib-id=\"log\">log<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-lib-id=\"math\">math<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-lib-id=\"newEvent\">newEvent<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-lib-id=\"newMacro\">newMacro<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-lib-id=\"newMessage\">newMessage<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-lib-id=\"str\">str<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-lib-id=\"time\">time<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-lib-id=\"val\">val<\/a>\n              <\/li><\/ul>\n\n\n<h2>Driver List<\/h2>\n<ul class=\"list-group mb-3\">\n<li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8250\">2y0a21<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8198\">analogin<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8203\">analogout<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8249\">at8870<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8225\">axp192<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8226\">bh1750<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8208\">bm8563<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8206\">bmp280<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"61443\">cloud<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8245\">dht12<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8194\">digitalIO<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8222\">encoder<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8260\">ethernet<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8232\">fpc1020<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8228\">ft6336<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8255\">gc9107<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8234\">gps<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8204\">hcsro<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8227\">hp303b<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8251\">hr8833<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8215\">httpClient<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"61450\">httpclient<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8239\">httpServer<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"61452\">HTTPServer2<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8200\">i2cport<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"61457\">ifttt<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8221\">ili9341<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8224\">ip5306<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8246\">ircontrol<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8218\">joystick<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8256\">ld2410c<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8213\">m5ammeter<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8242\">m5atommotion<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8259\">m5hBridge<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8217\">m5joystick<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8219\">m5ncir2<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8223\">m5qrcode<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8243\">m5relay4<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8209\">m5sonic<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8230\">m5unitv2<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8212\">m5volt<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8241\">max30100<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8258\">microphone<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"61441\">mobileapp<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8229\">mpu6886<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8207\">mpu9265<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"61454\">mqtt<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8196\">mqttClient<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8240\">nextion<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"61448\">nukiweb<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"61445\">onvif<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8211\">paj7620<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8261\">pi4ioe5V<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8236\">pmsa003<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8216\">qmp6988<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8254\">rc522<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8210\">rc522_i2c<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8244\">rf433<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8231\">rtc<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8252\">sdcard<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8248\">servo<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8214\">sgp30<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"61444\">shellybulb<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8201\">sht30<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8247\">sht40<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8235\">smtpClient<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"61451\">smtpclient<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8257\">speaker<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8220\">spiport<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"61458\">storage<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8192\">sys<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"61442\">tasmota<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8205\">tb6612<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"61455\">tcpClient<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"61456\">tcpServer<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8233\">tcs34725<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8193\">uart<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8197\">udp<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8202\">vl53l0v<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"61446\">whatsapp<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8195\">wifi<\/a>\n              <\/li><li class=\"list-group-item\">\n                  <a href=\"#\" data-driver-id=\"8199\">ws2812<\/a>\n              <\/li><\/ul>\n\n      <\/div>\n\n\n\n      <!-- Driver Details -->\n      <div class=\"col-md-8\">\n        <h2>Details<\/h2>\n        <form>\n          <div id=\"driver-details-container\">\n\n            <div class=\"mb-3\">\n              <table class=\"table\" id=\"driver-table\">\n                <thead>\n                  <tr>\n                    <th style=\"width: 15%;\">Name<\/th>\n                    <th style=\"width: 75%;\">Description<\/th>\n                    <th style=\"width: 10%;\">Active<\/th>\n                  <\/tr>\n                <\/thead>\n                <tbody>\n\n                <\/tbody>\n              <\/table>\n            <\/div>\n\n            <h3>Configuration<\/h3>\n            <table class=\"table\" id=\"config-table\">\n              <thead>\n                <tr>\n                  <th style=\"width: 15%;\">Name<\/th>\n                  <th style=\"width: 10%;\">Val<\/th>\n                  <th style=\"width: 65%;\">Description<\/th>\n                  <th style=\"width: 10%;\">Active<\/th>\n                <\/tr>\n              <\/thead>\n              <tbody>\n\n              <\/tbody>\n            <\/table>\n          <\/div>\n          <!-- Driver Functions Table -->\n          <h3>Functions<\/h3>\n          <div id=\"accordion\">\n\n\n          <\/div>\n        <\/form>\n\n      <\/div>\n    <\/div>\n  <\/div>\n\n\n<\/body>\n\n\n<script>\r\n    \/\/ Click event handler for drivers\r\n    $('ul.list-group').on('click', 'a', function(e) {\r\n      e.preventDefault();\r\n      var driverID = $(this).data('driver-id');\r\n      var libID = $(this).data('lib-id');\r\n\r\n      if (libID) {\r\n        \/\/ Call the loadLibDetails function\r\n        loadLibDetails(libID);\r\n      } else {\r\n        \/\/ Call the loadDriverDetails function with the driverID\r\n        loadDriverDetails(driverID);\r\n      }\r\n    });\r\n\r\n\r\n\r\n\r\n    \/\/ Function to load driver details when a driver is clicked\r\n    function loadLibDetails(libName) {\r\n      var mainTable = $('#driver-details-container');\r\n      mainTable.css('display', 'none');\r\n      var drvTable = $('#driver-table tbody');\r\n      drvTable.empty();\r\n      var cfgTable = $('#config-table tbody');\r\n      cfgTable.empty();\r\n\r\n      $.ajax({\r\n        url: 'https:\/\/cloud.tipcontrol.com\/admin\/get_lib_details.php', \/\/ Replace with your server-side script\r\n        method: 'POST',\r\n        data: {\r\n          libName: libName\r\n        },\r\n        dataType: 'json',\r\n        success: function(data) {\r\n          var accordion = $('#accordion');\r\n\r\n          \/\/ Clear existing content in the accordion\r\n          accordion.empty();\r\n\r\n          data.lib.forEach(function(func) {\r\n            \/\/ Create a new card element for each function\r\n            var card = $('<div>', {\r\n              class: 'card'\r\n            });\r\n\r\n            \/\/ Create the card header\r\n            var cardHeader = $('<div>', {\r\n              class: 'card-header d-flex justify-content-between align-items-center',\r\n              'data-bs-toggle': 'collapse',\r\n              'data-bs-target': '#collapse' + func.LibID,\r\n              'aria-expanded': 'false',\r\n              'aria-controls': 'collapse' + func.LibID,\r\n              style: 'cursor: pointer;'\r\n            }).appendTo(card);\r\n\r\n            \/\/ Create a container for the heading and description\r\n            var headerContainer = $('<div>', {\r\n              class: 'd-flex flex-column'\r\n            }).appendTo(cardHeader);\r\n\r\n            \/\/ Create the heading within the header container\r\n            var heading = $('<h5>', {\r\n              class: 'mb-0',\r\n              text: func.LibFunction !== \"\" ? func.LibFunction : '()'\r\n            }).appendTo(headerContainer);\r\n\r\n            \/\/ Create a description text next to the heading\r\n            var description = $('<p>', {\r\n              id: 'libfunction-' + func.LibID,\r\n              class: 'mb-0',\r\n              html: func.LibDescription\r\n            }).appendTo(headerContainer);\r\n\r\n\r\n\r\n\r\n\r\nvar x = 0;\r\n\r\n\/\/ Move the table, header, and body creation outside the loop\r\nvar collapseContent = $('<div>', {\r\n  id: 'collapse' + func.LibID,\r\n  class: 'collapse',\r\n  'aria-labelledby': 'heading' + func.LibID,\r\n  'data-bs-parent': '#accordion'\r\n}).appendTo(card);\r\n\r\nvar cardBody = $('<div>', {\r\n  class: 'card-body'\r\n}).appendTo(collapseContent);\r\n\r\nvar paramTable = $('<table>', {\r\n  class: 'table'\r\n}).appendTo(cardBody);\r\n\r\nvar tbody = $('<tbody>').appendTo(paramTable);\r\n\r\n\/\/ Check if there is at least one entry in func.param\r\nif (func.param.length > 0) {\r\n  \/\/ Create the table header only if there is at least one entry\r\n  var thead = $('<thead>').appendTo(paramTable);\r\n  var headerRow = $('<tr>').appendTo(thead);\r\n\r\n  $('<th>', {\r\n    text: 'Name',\r\n    style: 'width: 15%'\r\n  }).appendTo(headerRow);\r\n  $('<th>', {\r\n    text: 'Description',\r\n    style: 'width: 75%'\r\n  }).appendTo(headerRow);\r\n}\r\n\r\n\/\/ Loop through the parameters and create table rows for each\r\nfunc.param.forEach(function(param) {\r\n  x = x + 1;\r\n\r\n  var paramRow = $('<tr>').appendTo(tbody);\r\n  $('<td>', {\r\n    text: param.Value !== \"\" ? param.Value : '()'\r\n  }).appendTo(paramRow);\r\n  $('<td>', {\r\n    id: 'libfunction-param-' + param.ValueID,\r\n    html: param.ValueDescription\r\n  }).appendTo(paramRow);\r\n\r\n});\r\n\r\n\/\/ Append the card to the accordion\r\naccordion.append(card);\r\n\r\n          });\r\n\r\n\r\n\r\n\r\n\r\n\r\n        },\r\n        error: function() {\r\n          alert('Error loading lib details.');\r\n        }\r\n      });\r\n    }\r\n\r\n\r\n    \/\/ Function to load driver details when a driver is clicked\r\n    function loadDriverDetails(driverID) {\r\n      var mainTable = $('#driver-details-container');\r\n      mainTable.css('display', 'block');\r\n      $.ajax({\r\n        url: 'https:\/\/cloud.tipcontrol.com\/admin\/get_driver_details.php', \/\/ Replace with your server-side script\r\n        method: 'POST',\r\n        data: {\r\n          driverID: driverID\r\n        },\r\n        dataType: 'json',\r\n        success: function(data) {\r\n          \/\/ Update the right side with driver details\r\n          $('#driver-description').html(data.driver.DriverDescription);\r\n\r\n\r\n\r\n          var drvTable = $('#driver-table tbody');\r\n\r\n          \/\/ Clear existing rows in the table\r\n          drvTable.empty();\r\n\r\n          \/\/ Create a new row for each cfgItem\r\n          var row = $('<tr>');\r\n\r\n          \/\/ Create and append the cells for each column\r\n          $('<td>').text(data.driver.DriverName).appendTo(row);\r\n          $('<td id=\"driver-description-' + data.driver.DriverID + '\">').html(data.driver.DriverDescription).appendTo(row);\r\n\r\n          \/\/ Append the row to the table\r\n          drvTable.append(row);\r\n\r\n\r\n\r\n\r\n\r\n\r\n          var cfgTable = $('#config-table tbody');\r\n\r\n          \/\/ Clear existing rows in the table\r\n          cfgTable.empty();\r\n          data.cfg.forEach(function(cfgItem, index) {\r\n            \/\/ Create a new row for each cfgItem\r\n            var row = $('<tr>');\r\n\r\n            \/\/ Create and append the cells for each column\r\n            $('<td>').text(cfgItem.FunctionName).appendTo(row);\r\n            $('<td>').text(cfgItem.CfgValue).appendTo(row);\r\n            $('<td id=\"driver-cfg-' + cfgItem.CfgID + '\">').html(cfgItem.CfgDescription).appendTo(row);\r\n\r\n            \/\/ Append the row to the table\r\n            cfgTable.append(row);\r\n\r\n          });\r\n\r\n\r\n\r\n\r\n          var accordion = $('#accordion');\r\n\r\n          \/\/ Clear existing content in the accordion\r\n          accordion.empty();\r\n\r\n          data.functions.forEach(function(func) {\r\n            \/\/ Create a new card element for each function\r\n            var card = $('<div>', {\r\n              class: 'card'\r\n            });\r\n\r\n            \/\/ Create the card header\r\n            var cardHeader = $('<div>', {\r\n              class: 'card-header d-flex justify-content-between align-items-center',\r\n              'data-bs-toggle': 'collapse',\r\n              'data-bs-target': '#collapse' + func.FunctionID,\r\n              'aria-expanded': 'false',\r\n              'aria-controls': 'collapse' + func.FunctionID,\r\n              style: 'cursor: pointer;'\r\n            }).appendTo(card);\r\n\r\n            \/\/ Create a container for the heading and description\r\n            var headerContainer = $('<div>', {\r\n              class: 'd-flex flex-column'\r\n            }).appendTo(cardHeader);\r\n\r\n            \/\/ Create the heading within the header container\r\n            var heading = $('<h5>', {\r\n              class: 'mb-0',\r\n              text: func.FunctionName\r\n            }).appendTo(headerContainer);\r\n\r\n            \/\/ Create a description text next to the heading\r\n            var description = $('<p>', {\r\n              id: 'function-' + func.FunctionID,\r\n              class: 'mb-0',\r\n              html: func.FunctionDescription\r\n            }).appendTo(headerContainer);\r\n\r\n\r\n            var x = 0;\r\n\r\n\/\/ Loop through the parameters and create table rows for each\r\n\/\/ Create the collapse content only once\r\nvar collapseContent = $('<div>', {\r\n  id: 'collapse' + func.FunctionID,\r\n  class: 'collapse',\r\n  'aria-labelledby': 'heading' + func.FunctionID,\r\n  'data-bs-parent': '#accordion',\r\n}).appendTo(card);\r\n\r\n\/\/ Create a card body within the collapse content\r\nvar cardBody = $('<div>', {\r\n  class: 'card-body',\r\n}).appendTo(collapseContent);\r\n\r\n\/\/ Create the table for this function's parameters\r\nvar paramTable = $('<table>', {\r\n  class: 'table',\r\n}).appendTo(cardBody);\r\n\r\n\/\/ Create the table header\r\nvar thead = $('<thead>').appendTo(paramTable);\r\nvar headerRow = $('<tr>').appendTo(thead);\r\n\r\n$('<th>', {\r\n  text: 'Name',\r\n  style: 'width: 15%',\r\n}).appendTo(headerRow);\r\n$('<th>', {\r\n  text: 'Description',\r\n  style: 'width: 75%',\r\n}).appendTo(headerRow);\r\n\r\n\r\n\/\/ Create the table body\r\nvar tbody = $('<tbody>').appendTo(paramTable);\r\n\r\nfunc.param.forEach(function (param, index) {\r\n  console.log(param.ParamID);\r\n\r\n  \/\/ Create table rows for each parameter\r\n  var paramRow = $('<tr>').appendTo(tbody);\r\n  $('<td>', {\r\n    text: param.ParamValue,\r\n  }).appendTo(paramRow);\r\n  $('<td>', {\r\n    id: 'function-param-' + param.ParamID,\r\n    html: param.ParamDescription,\r\n  }).appendTo(paramRow);\r\n\r\n});\r\n\r\n\r\n\/\/ Append the card to the accordion\r\naccordion.append(card);\r\n});\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n        },\r\n        error: function() {\r\n          alert('Error loading driver details.');\r\n        }\r\n      });\r\n    }\r\n  <\/script>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-411","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/tipcontrol.com\/index.php?rest_route=\/wp\/v2\/pages\/411","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tipcontrol.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/tipcontrol.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/tipcontrol.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tipcontrol.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=411"}],"version-history":[{"count":16,"href":"https:\/\/tipcontrol.com\/index.php?rest_route=\/wp\/v2\/pages\/411\/revisions"}],"predecessor-version":[{"id":508,"href":"https:\/\/tipcontrol.com\/index.php?rest_route=\/wp\/v2\/pages\/411\/revisions\/508"}],"wp:attachment":[{"href":"https:\/\/tipcontrol.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=411"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}