====== WS2812 a/b Technick ====== ====== Technische Dokumentation ====== =this.length))return this[a]};ha("Array.prototype.at",function(a){return a?a:ia});fa("at",function(a){return a?a:ia}); ha("String.prototype.at",function(a){return a?a:ia});ha("Promise.withResolvers",function(a){return a?a:function(){var b,c;return{promise:new Promise(function(d,e){b=d;c=e}),resolve:b,reject:c}}});/* Copyright The Closure Library Authors. SPDX-License-Identifier: Apache-2.0 */ a:for(var ja=["CLOSURE_FLAGS"],ka=this||self,la=0;lavoid a()};function na(a){var b=window.google?.timers?.load;b&&(b=b.e.folr,google.c.e("load","folr",b?`${b},${a}`:a))};const oa=new Set("aaft aafit aafct irli sart scrt saft saftwgc scat".split(" "));function x(){return typeof csi_o_qull!=="undefined"&&csi_o_qull}function B(){return typeof csi_o_dle!=="undefined"&&csi_o_dle&&x()} var pa=function(a,b=!1){const c=a.C;a.i=!0;a.F.forEach(d=>{d()});a.F=[];b&&(a.X=!0,B()&&(a.C=c))},qa=function(a){if(Array.isArray(a.g.cbvi))for(const b of a.g.cbvi)b();a.g.cbvi=ma},D=function(a,b,c){if(B()){if(!a.i||a.X)if(a.B[b]=Math.max(a.B[b]||0,c),a.j)return;a.J[b]=Math.max(a.J[b]||0,c)}else a.B[b]=Math.max(a.B[b]||0,c)},ra=function(a,b="all",c=a.B,d=!1){const e=b==="all";let g={};if(e)qa(a),g=c;else for(var h of Object.keys(c))oa.has(h.split("-")[0])||(g[h]=c[h]);(c=google.stvsc?.ns||window.performance?.timing?.navigationStart)&& (g.ns=c);a:{c=a.url;if(h=window._csc!=="agsa"||!window._cshid)h=window.google?.rdn?window.performance?.getEntriesByType?.("navigation")[0]:void 0,h?(h=h.type,h=!h||h==="navigate"):h=!window.performance?.navigation?.type;if(h&&(c=(c=c.match(RegExp("[?&]qsubts=(\\d+)")))&&Number(c[1]),c>0))break a;c=void 0}c&&(g.gsans=c);(c=google.timers.load?.t.prs)&&(g.prs=c);c=a.g.t.getAttribute("eid");h=[];for(const k of Object.keys(g))h.push(`${k}.${g[k]-a.ka}`);b=`/gen_204?s=async&astyp=${a.g.astyp}&t=${d?`${b}2`: b}&atyp=csi&ei=${c}&rt=${h.join(",")}`;e&&(a.R&&(b+=`&lvhr=${a.R}`),b+=`&${"imn"}=${a.T}`,b+=`&${"ima"}=${a.G}`);b+=`&${"folid"}=${a.g.id}`;a.la?navigator.sendBeacon(b,""):google.log("","",b)},sa=function(a,b,c,d=Date.now(),e=!1){if(x()&&!a.i){a.F.push(()=>{sa(a,b,c,d,e)});if(!B())return;a.j=!0}const g=google.cv(b,!1,a.g.t),h=!!(g&1);h&&(c&&(a.R=c),D(a,"aaft",d),D(a,"aafct",d));ta(a,b,d,h,e);g&4&&(a.ha=!0,a.G===a.K&&qa(a));a.j=!1},ta=function(a,b,c,d,e=!1){if(x()&&!a.i){a.F.push(()=>{ta(a,b,c,d,e)}); if(!B())return;a.j=!0}for(const g of ua(a,b))for(const h of E(g)){if(!h)continue;const k=`${"saft"}-${h}`,f=`${"saftwgc"}-${h}`,m=`${"sart"}-${h}`;if(g.contains(b)||!a.i&&b.contains(g))d&&(D(a,k,c),e||D(a,f,c)),D(a,m,c)}a.j=!1},ua=function(a,b){if(typeof csi_o_qso!=="undefined"&&csi_o_qso){b=b.querySelectorAll("[data-subtree]");for(const c of b){b=E(c);for(const d of b)a.U.includes(c)||a.U.push(c)}return a.U}return a.g.t.querySelectorAll("[data-subtree]")},E=function(a){return(a=a.dataset.subtree)? a.split(","):[]},va=function(a,b,c,d=!1){b.getAttribute("data-deferred")==="1"?google.rll(b,!0,()=>{va(a,b,c,d)}):d||(b.getAttribute("data-deferred")==="2"&&b.setAttribute("data-deferred","3"),d=!0,wa(a,b,c))},xa=function(a,b){var c=Date.now();const d=b.getElementsByTagName("img");for(let g=0;g{va(a,h,f)}),a.B.irfi||D(a,"irfi",c),D(a,"irli",c))}sa(a,b,void 0,c)},wa=function(a,b,c,d=Date.now()){a.B.irfie||D(a,"irfie",d);if(x()&&!c&&!a.i){a.F.push(()=>{wa(a,b,c,d)});if(!B())return;a.j=!0}++a.C;c&&(++a.K,D(a,"aaft",d),D(a,"aafit",d));ta(a,b,d,c);a.ha&&a.G===a.K&& qa(a);!a.Y||a.i&&a.F.length!==0||(ya(a),a.S());a.j=!1},ya=function(a){B()||a.Y&&a.K===a.G&&pa(a)},za=function(a,b,c){if(x()&&a.W&&!a.i){a.F.push(()=>{za(a,b,c)});if(!B())return;a.j=!0}for(const d of ua(a,b))for(const e of E(d)){if(!e)continue;const g=`${"sirt"}-${e}`,h=`${"sart"}-${e}`,k=`${"scrt"}-${e}`;let f=!1;if(b===d||!a.i&&b.contains(d)){if(!a.B[g]||B()&&!a.J[g])f=!0,D(a,g,c);D(a,h,c);D(a,k,c)}else d.contains(b)&&(D(a,h,c),D(a,k,c));(e==="mfl"||e==="aimfl"&&a.g.astyp.includes("aim"))&&f&&(a.W= !0,ra(a,g))}a.j=!1},Aa=class{constructor(a,b=Date.now(),c=window.location.search,d=typeof usb!=="undefined"&&usb){this.g=a;this.ka=b;this.url=c;this.la=d;this.B={};this.J={};this.j=!1;this.U=[];this.F=[];this.K=this.G=this.C=this.T=this.R=0;this.X=this.i=this.W=!1;this.g.t&&this.g.id&&google.cv(this.g.t,!1)&1&&na(this.g.id);this.g.ullcb=()=>{pa(this,!0)}}S(){this.T!==this.C||this.fb||(D(this,"art",Date.now()),ra(this),B()&&(pa(this),ra(this,"all",this.J,!0)))}ja(a){sa(this,a,void 0,void 0,!0)}Z(){this.Y= !0;ya(this)}};window.google=window.google||{};const Ca=window.performance&&window.performance.timing&&"navigationStart"in window.performance.timing,Da=google.stvsc&&google.stvsc.ns;var Ea=Ca?Da||window.performance.timing.navigationStart:void 0;function Fa(){return window.performance.now()-(google.stvsc&&google.stvsc.pno||0)}const Ga=google.stvsc&&google.stvsc.rs;var H=Ca?Ga||window.performance.timing.responseStart:void 0;function Ha(a,b){let c,d=Date.now();const e=window.performance;e&&(e.now&&(c=Math.floor(Fa())),Ea&&H&&H>Ea&&H<=d&&(d=H,c=H-Ea));a(d);b(c)};var Ia=function(a){let b="";a&&(b=typeof a==="string"?a:google.getEI(a));return b&&b!==""?b:""},Ja=class{constructor(){this.g=[]}};var Ka=new Set("aco aec aep arqrcd arv asrc atp authuser boostid boostvid bshope cds cf channel cs csui data_push_epoch dcr deb debtime dthp e edbg editnurl editourl editq editrt elrc esrch eval_id exp exp_uid expflags expid explain exprollouts fakeads fesp force_experience frendfilter frozen_clock garc gl gsas gsc hl host hotel_dates hotel_ds hotswaps hts igu imgn isc jsmode lns_img lns_int lns_mode lns_surface lns_tqs lr lsf lsft lsisr ltkn mactx masfc mat mcp mergelabel mgtyp mlp mrc nef nem nep ogdeb opti optq opts optt pcs pga piis plugin pvf pws rciv rlst rlz safe sca_esv sessionid shopmd shoprs shopvl shortlistmids sidesearch skew_host skew_hotswaps skip sni snr source source_ip ssl_dbg st stick stkp tbcp tbs tcfs tsdo udf udm uideb ulrc useragent uuld uule v vit vsint vsrid vuid".split(" ")), La=new Set(["ampcct","client","dcr","hs","v"]),Ma=new Set([...(new Set("data_push_epoch deb duul e espv esrch exp exp_uid expflags expid expid_c exprollouts fesp frozen_clock host hotswaps ion ix jsmode mods nossl nuul ogdeb sessionid uuld".split(" "))),...La]);function Na(a){Ha(b=>{google.startTick(a,b)},b=>{google.timers[a].wsrt=b;performance.mark&&performance.mark("SearchAFTStart",{startTime:b})})};var I;(function(a){if(a.__gwbp===void 0){let b;const c=new Promise(d=>{b=d});c.__r=b;a.__gwbp=c}})(document);I=document.__gwbp;let Oa;I.then(a=>{Oa=a});var Pa=Event;var J=class extends Pa{constructor(a){super(a,{bubbles:!0});Oa.addEvent(a)}};var Qa=class extends J{constructor(){super("aimCanvasBeforeFirstContentPaint")}},Ra=class extends J{constructor(){super("aimCanvasRenderFinished")}},Sa=class extends J{constructor(){super("aimCanvasRenderStarted")}},Ta=class extends J{constructor(a,b){super("aimCanvasTitleAvailable");this.title=a;this.I=b}};function K(a){document.querySelector('[data-xid="Lr04i"]')?.dispatchEvent(a)}function Ua(a,b){b.map(c=>[...document.querySelectorAll(c)]).flat().forEach(c=>void c.dispatchEvent(a))}async function Va(){await I;K(new Wa);Ua(new Wa,['[data-xid="eP7C1d"]'])}async function Xa(){await I;K(new Ya);Ua(new Ya,['[data-tpcrb-host="true"]','[data-xid="x92FHb"]','[data-xid="Gd7Hsc"]','[data-xid="UN5Mf"]'])}async function Za(){await I;K(new $a)}async function ab(){await I;K(new bb)} var Wa=class extends J{constructor(){super("aimRenderStarted")}},Ya=class extends J{constructor(){super("aimRenderComplete")}},$a=class extends J{constructor(){super("aimBodyComplete")}},bb=class extends J{constructor(){super("aimModelResponseStarted")}};function M(a){const b=document.querySelectorAll('[data-scope-id="qZRtEe"] [data-canvas-lifecycle-subscriber]');for(const c of b)c.dispatchEvent(a)};function cb(a=document){return a.querySelector(".Lucn7c")}function db(a){const b=a.getAttribute("data-canvas-title")||"";a=a.getAttribute("data-canvas-subtitle")||"";return{title:b,I:a}};var eb={};function N(a,b){return a&&a.parentElement&&a!==b&&!a.hasAttribute("data-container-id")?a.getAttribute("data-complete")||a.nextSibling||a.parentElement.lastElementChild===a&&N(a.parentElement,b)?(a.setAttribute("data-complete","true"),!0):!1:!1};/* Copyright Google LLC SPDX-License-Identifier: Apache-2.0 */ let fb=globalThis.trustedTypes,gb;function hb(){let a=null;if(!fb)return a;try{const b=c=>c;a=fb.createPolicy("goog#html",{createHTML:b,createScript:b,createScriptURL:b})}catch(b){}return a}function ib(){gb===void 0&&(gb=hb());return gb};var jb=class{constructor(a){this.g=a}toString(){return this.g+""}};var kb=class{constructor(a){this.g=a}toString(){return this.g+""}};function lb(a){if(a instanceof kb)return a.g;throw Error("h");};function mb(a=document){a=a.querySelector?.("script[nonce]");return a==null?"":a.nonce||a.getAttribute("nonce")||""};var nb=class{constructor(a){this.g=a}toString(){return this.g+""}};function ob(a){const b=mb(a.ownerDocument);b&&a.setAttribute("nonce",b)};function pb(a){const b=ib();a=b?b.createHTML(a):a;return new kb(a)};function qb(a,b=!1){return{onRenderFinished:()=>{rb(a)},onChunkWritten:()=>{b?sb(a):tb(a)}}}function tb(a){a.querySelectorAll("script[data-script-exec]").forEach(b=>{N(b,a)&&ub(b)})}function sb(a){a.querySelectorAll("script").forEach(b=>{b.dataset.scriptExecPoststream===void 0&&N(b,a)&&ub(b)})}function rb(a){a.querySelectorAll("script").forEach(b=>{ub(b)})} function ub(a){var b=document.body;a.parentElement.removeChild(a);const c=document.createElement("script");for(var d in a.dataset)d!=="scriptExecPoststream"&&d!=="script-exec"&&(c.dataset[d]=a.dataset[d]);d=a.text;const e=ib();d=e?e.createScript(d):d;d=new nb(d);if(d instanceof nb)d=d.g;else throw Error("h");c.textContent=d;ob(c);c.type=a.type;c.nonce=a.nonce;c.async=a.async;c.crossOrigin=a.crossOrigin;c.onerror=a.onerror;if(a.src){a=a.src;a=(d=ib())?d.createScriptURL(a):a;a=new jb(a);if(a instanceof jb)a=a.g;else throw Error("h");c.src=a;ob(c)}b.appendChild(c)};function vb(a){function b(d){var e=Array.from(d.head?.children??[]);d=Array.from(d.body?.children??[]);e=e.concat(d);for(d=0;d{}){a.forEach(d=>{a:{const k=d.getAttribute("data-target-container-id");d.removeAttribute("data-target-container-id");if(k){var e=b;var g=d.getAttribute("data-target-scope-id");d.removeAttribute("data-target-scope-id");g&&(e=document.querySelectorAll(`[data-scope-id="${g}"]`),e=e[e.length-1]);if(e){var h=`[data-container-id="${k}"]`;e=e.matches(h)?e:e.querySelector(h)}if(!e){if(k===d.getAttribute("data-container-id")){g=d;break a}throw Error("i`"+k+"`"+(g?` within scope ${g}.`: "."));}g=e}else g=null}yb(d,g);c(g,d)})}function yb(a,b){if(a!==b){const c=a.getAttribute("data-sn-op")||"0";a.removeAttribute("data-sn-op");switch(c){case "1":zb(b,a);break;case "2":b.append(...a.childNodes);break;case "0":b.appendChild(a)}}} function Ab(a,b,c,d){c=c||b;d?.parentNode!==b&&(d=null);const e=a.matches("[data-target-container-id]")?[a]:a.querySelectorAll("[data-target-container-id]");a.tagName==="STYLE"?b.append(a):(e.forEach(g=>{g.remove()}),d?b.insertBefore(a,d):b.appendChild(a),xb(e,c))}function zb(a,b){a.replaceChildren(...a.querySelectorAll("style"),b)} function Bb(a){a.forEach(b=>{if(N(b,b.ownerDocument.documentElement)){var c=b.dataset.targetIframeUuid,d=b.dataset.command,e=b.dataset.content;if(!d)throw Error("j`"+c);b.remove();({promise:b}=window.iframes.get(c));b.then(g=>{g.contentWindow?.postMessage({__sn__:1,method:"stream",args:{command:d,content:e}},"*")})}})};var Cb=!!(window.ReadableStream?.prototype&&"pipeThrough"in window.ReadableStream?.prototype&&window.TextDecoderStream),Db=async function(a,b,c){if(b.headers.get("Content-Type")?.split(";",2)?.[0]?.toLowerCase()!=="text/html")throw Error("k`"+b.url);if(b.url&&(new URL(b.url)).origin!==location.origin)throw Error("l`"+b.url);if(Cb)for(a.i=b.body.pipeThrough(new TextDecoderStream).getReader();;){const {value:d,done:e}=await a.i.read();if(e||a.g)break;b=pb(d);c(b)}else a=await b.text(),a=pb(a),c(a)}, Eb=class{constructor(a=[]){this.plugins=a;this.finished=this.g=!1;this.plugins=a}async render(a){const b=document.implementation.createHTMLDocument("");for(const c of this.plugins)if(c.onRenderStarted)c.onRenderStarted(b);b.open();for(const c of this.plugins)c.onDocumentOpen?.(b);await Db(this,a,c=>{if(!this.g){for(const d of this.plugins)try{d.onFirstByte?.(b),d.onFirstByte=void 0}catch(e){}b.write(lb(c));for(const d of this.plugins)try{d.onChunkWritten?.(b)}catch(e){}}});b.close();if(!this.g){this.finished= !0;for(const c of this.plugins)try{c.onRenderFinished?.(b)}catch(d){}}}cancel(){if(!this.finished){this.g=!0;this.i?.cancel().catch(()=>{});for(let a=0;ah))throw Error("n`"+g.length+"`"+h);}},Hb=class{constructor(a){this.plugins=a;this.i=new Map;this.finished=this.g=!1}async render(a){if(!a.ok)throw Error("o`"+a.status+"`"+a.statusText);if(a.headers.get("Content-Type")?.split(";",2)?.[0]?.toLowerCase()!=="text/plain")throw Error("p`"+a.url); if(a.url&&(new URL(a.url)).origin!==location.origin)throw Error("l`"+a.url);for(const c of this.plugins)c.onRenderStarted?.();let b=Fb(this,"default");await Gb(this,a,(c,d)=>{if(!this.g){for(const e of this.plugins)try{e.onFirstByte?.(),e.onFirstByte=void 0}catch(g){}if(c==="write_to_target_document")b=Fb(this,d);else if(c==="message"){c=pb(d);b.write(lb(c));for(const e of this.plugins)try{e.onChunkWritten?.(b)}catch(g){}}}});if(!this.g){this.finished=!0;for(const c of this.plugins)try{c.onRenderFinished?.()}catch(d){}}}close(){this.i.forEach(a=> {a.close()})}cancel(){if(!this.finished){this.g=!0;this.close();for(const a of this.plugins)a.onStreamCanceled?.()}}};function Ib({v:a,qb:b,insertBefore:c}){return d=>{Ab(d,a,b,c)}};function Jb(a){var b=Kb;for(const c in b)a.call(void 0,b[c],c,b)};const Lb=RegExp("^(?:([^:/?#.]+):)?(?://(?:([^\\\\/?#]*)@)?([^\\\\/?#]*?)(?::([0-9]+))?(?=[\\\\/?#]|$))?([^?#]+)?(?:\\?([^#]*))?(?:#([\\s\\S]*))?$");function Mb(a,b){if(a){a=a.split("&");for(let c=0;c=0?(e=a[c].substring(0,d),g=a[c].substring(d+1)):e=a[c];b(e,g?decodeURIComponent(g.replace(/\+/g," ")):"")}}} function Nb(a,b,c){if(Array.isArray(b))for(let d=0;d{c.i[g]=h});return c},O=function(a,b,c){c?a.g[b]=c:delete a.g[b]},Sb=function(a){const b=[],c=d=>{a.g[d]!==void 0&&b.push(d+"="+a.g[d])};Qb(a)?(c("md"),c("k"), c("ck"),c("am"),c("rs"),c("gssmodulesetproto"),c("slk"),c("dti")):(c("sdch"),c("k"),c("ck"),c("am"),c("amc"),c("rt"),"d"in a.g||O(a,"d","0"),c("d"),c("exm"),c("excm"),(a.g.excm||a.g.exm)&&b.push("ed=1"),c("im"),c("dg"),c("sm"),P(a,"br")!="1"&&P(a,"br")!="0"||c("br"),c("br-d"),P(a,"rb")=="1"&&c("rb"),P(a,"zs")!=="0"&&c("zs"),Rb(a)!==""&&c("wt"),c("gssmodulesetproto"),c("ujg"),c("sp"),c("rs"),c("cb"),c("ee"),c("slk"),c("dti"),c("ic"),c("m"));return b.join("/")},P=function(a,b){return a.g[b]?a.g[b]: null},Qb=function(a){a=P(a,"md");return!!a&&a!=="0"},Rb=function(a){switch(P(a,"wt")){case "0":return"0";case "1":return"1";case "2":return"2";default:return""}};const Ob=class{constructor(){this.g={};this.j="";this.i={}}toString(){var a=this.j+Sb(this);var b=this.i;var c=[];for(const d in b)Nb(d,b[d],c);b=c.join("&");c="";b!=""&&(c="?"+b);return a+c}}; var Kb={eb:"k",Ja:"ck",ab:"m",Sa:"exm",Qa:"excm",Ga:"am",Ha:"amc",Ya:"mm",bb:"rt",Va:"d",Ra:"ed",kb:"sv",Ka:"deob",Ia:"cb",ib:"rs",gb:"sdch",Wa:"im",La:"dg",Oa:"br",Na:"br-d",Pa:"rb",ob:"zs",nb:"wt",Ta:"ee",jb:"sm",Za:"md",Ua:"gssmodulesetproto",mb:"ujg",lb:"sp",hb:"slk",Ma:"dti",Xa:"ic"};var Tb=class{constructor(){this.g={}}add(a){this.g[a]=!0}addAll(a){for(let b=0;b0?(v.sort(),O(f,"excm",v.join(","))):O(f,"excm",null); f=f.toString()}else f=null;f&&k.set("_snbasecss",f);v=new URLSearchParams(h.search);f=new URLSearchParams;if(c==="folwr")if(l=v.get("mlrol"),l=Vb(l).at(-1))m=Wb(),f.set("garc",m.ca),f.set("mlro",l.Da),f.set("mlros",l.Aa),f.set("ei",l.M);else if(a.Ba){if(l=document.querySelector(`[data-sr-id="${a.Ba}"][data-sr-mlro][data-sr-mlros][data-sr-ei]`))f.set("mlro",l.dataset.srMlro),f.set("mlros",l.dataset.srMlros),f.set("ei",l.dataset.srEi),f.set("garc",l.dataset.srGarc)}else l=Wb(),f.set("garc",l.ca),f.set("mlro", l.xa),f.set("mlros",l.ya),f.set("ei",l.pa);else c==="folif"&&(l=document.querySelectorAll("[data-ei]"),l.length>0&&(l=l[0])&&f.set("ei",l.dataset.ei));if(!e){l=v.get("q")||d.get("q");m=v.get("vsrid")||d.get("vsrid");r=v.get("lns_img")||d.get("lns_img");t=v.get("cinpts")||d.get("cinpts");a=a.ua;n=v.get("mlrol")!=null;if(l===null&&m===null&&t===null&&r===null&&!a&&!n)throw Error("q");l&&f.set("q",l)}f.set("yv","3");if(l=b.dataset.ved){a=new Ja;a.g.push({Ca:l,targetElement:"",ra:"insert"});l=[];for(let G= 0,y;y=a.g[G++];)switch(m=y.Ca,r=y.ra,t=y.ub,z=y.tb,n=y.Bb,q=Ia(y.targetElement),z=Ia(z),r){case "show":l.push(`${m}.${q}.s`);break;case "insert":l.push(`${m}.${q}.i${z?`.0.${t}.${z}`:""}`);break;case "dedupe-insert":l.push(`${m}.${q}.i${z?`.1.${t}.${z}`:".1"}`);break;case "hide":l.push(`${m}.${q}.h`);break;case "copy":l.push(`.${n}.c`)}(a=l.length?"1"+l.join(";"):"")&&f.set("vet",a)}g&&(a=g.dataset.ved)&&f.set("ved",a);a=new Set([...Ka,...Ma]);e&&(a.delete("vsrid"),a.delete("lns_surface"),a.delete("imgn"), a.delete("vit"));for(var A of a)(a=v.get(A))&&f.set(A,a);(A=document.getElementById("rKxeg"))&&(A=A.getAttribute("data-stkp"))&&f.set("stkp",A);for(const [G,y]of d)f.set(G,y);if(A=f.get("skew_hotswaps"))f.delete("skew_hotswaps"),f.set("hotswaps",A);h=new URL(`/async/${c}`,h.origin);A=f.toString();f=[];for(const [G,y]of k)k=y,f.push(encodeURIComponent(String(G))+":"+encodeURIComponent(String(k)));h.search=`${A}&async=${f.join(",")}`;return h} function Wb(){const a=document.querySelector("[data-garc][data-lro-token][data-lro-signature][data-ei]");if(a)return{ca:a.dataset.garc,xa:a.dataset.lroToken,ya:a.dataset.lroSignature,pa:a.dataset.ei};throw Error("r");}function Vb(a){return a?a.split(";").map(b=>{const [c,d,e]=b.split(",");return c?{Da:c,Aa:d,M:e}:null}).filter(b=>b!==null):[]};var Q=function(a){var b=a.g;if(b==null)b=null;else if(typeof b!=="string")throw new TypeError(`Invalid ${"string"} data <${a.i}>: ${a.g} (typeof ${typeof a.g})`);if(b===null)throw Error("s`"+a.i);return b};class Xb{constructor(a,b){this.i=a;this.g=b}toString(){return Q(this)}};function Yb(a=window){return a.WIZ_global_data}function Zb(a,b=window){return(b=Yb(b))&&a in b?b[a]:null};function R(a){return new Xb(a,Zb(a,window))};var $b={};async function ac(a,b,c){const d=new AbortController,e=d.signal;window.__adlRequests||(window.__adlRequests=[]);window.__adlRequests.push({cancel:()=>{d.abort($b);c?.cancel()}});return await fetch(a.toString(),{signal:e,...b})};async function bc(a,b){try{const e=a.url||Ub(a);var c=e.searchParams.get("async")?.includes("_fmt:madl");const g=a.v,h=a.V;var d;if(d=b){c={...b,v:g,V:h,Fa:c};const {v:n,plugins:v=[],V:l,Fa:z}=c;d=z?new Hb([qb(n,l),...v,wb(Ib(c)),eb]):new Eb([qb(n,l),...v,vb(Ib(c)),eb])}const k=new Headers,f=R("ejMLCd");f.g!=null&&k.set("X-Geo",Q(f));const m=R("PYFuDc");m.g!=null&&k.set("X-Client-Data",Q(m));const q=R("JHHKub");q.g!=null&&k.set("X-Client-Pctx",Q(q));const r=R("AUf7qc");r.g!=null&&k.set("X-Silk-Capabilities", Q(r));const t=await ac(e,{headers:k},d);t.status>=400&&b?.zb?.(t);await d?.render(t)}catch(e){if(e!==$b)throw b?.sb&&e instanceof TypeError&&e.message==="Load failed"||(e instanceof Response&&e.status>=400?b?.oa||cc("An error occurred while fetching the content.",a.v):b?.oa||cc("Something went wrong and the content wasn't generated.",a.v)),e;}} function cc(a,b){const c=document.createElement("div");c.textContent=a;c.style.fontSize="16px";c.style.fontStyle="italic";c.setAttribute("data-aeie","true");b.insertAdjacentElement("afterend",c)};const dc=new Set;function S(){const a=document.querySelectorAll(".csi-ghost");if(a.length===0)return!1;for(let b=0;b=window.innerWidth||c.getBoundingClientRect().top>=window.innerHeight)){for(;c;){const d=getComputedStyle(c);if(d.display==="none"||d.visibility==="hidden")break;c=c.parentElement}if(c===null)return!0}}return!1} function ec(){const a=new URLSearchParams(window.location.href);return a.get("hotswaps")?.includes("search_next_mars")||a.get("hotswaps")?.includes("search_next_mars_lro")}function fc(a){const b={atyp:"csi",ei:a.M};a.D&&(b.astyp=a.D);a.ga&&a.ga.forEach((c,d)=>{b[d]=c.toString()});google.x(null,()=>{google.minCsiReport(b,ec()?"l"+a.appName:a.appName,google.timers[a.A])})}function hc(a){return Array.from(a.querySelectorAll('span[data-key^="NODE_END_MARKER_"]'))} function ic(a){const b=[];a.forEach(c=>{(c=c.getAttribute("data-key"))&&!dc.has(c)&&(b.push(c),dc.add(c))});return b}function jc(a,b,c){b.forEach(d=>{let e=a.getElementById(d);e||=document.getElementById(d);e&&(e.textContent=`Client Latency: ${c.toFixed(2)} ms`,e.style.display="block")})}function kc(a,b,c=!1){lc(a,b,c);c=Date.now();for(const d of ua(b,a))for(const e of E(d)){if(!e)continue;const g=`${"scat"}-${e}`;(d.contains(a)||a.contains(d))&&D(b,g,c)}} function lc(a,b,c=!1){za(b,a,Date.now());!c&&S()||xa(b,a)};function mc(a,b,c,d){b="aim_"+b;ec()&&(b="l"+b);d&&(b+="_restore");return{astyp:b,t:a,m:5,id:c}};function nc(a){let b=!1;return{onChunkWritten(){b||a.querySelector("[data-aimmrs]")==null||(ab(),b=!0)}}};let T=0,oc=new WeakSet;function pc(a){const b=[];for(a=a.parentElement;a;)a.matches("[data-animation-nesting],li,mark,code")&&b.push(a),a=a.parentElement;return b}function qc(a,b,c=!1){if(rc(a)===NodeFilter.FILTER_ACCEPT){var d=performance.now(),e=[];T=sc(a,Math.max(0,T-d),b,e,c)+d;return{ea:T,pb:e}}} function sc(a,b,c,d,e=!1){tc(a).forEach(g=>{pc(g).forEach(r=>{uc(r,!1,b,0,c,d,e)});if(U(g))b=uc(g,!1,b,4,c,d,e);else{for(var h=g.parentNode,k=g.nextSibling,f=document.createDocumentFragment(),m=g.textContent?.match(/\s*\S+\s*/g)??[],q=0;q0?setTimeout(Xa,a):Xa()} function U(a){return a?.nodeType===Node.ELEMENT_NODE};function V(a){return document.body.querySelector(`[jsname="${a}"]`)};function yc(){zc();document.body.querySelector(".gsZh2b")?.classList.remove("gsZh2b","DzT1rd");W(V("Gd8Kre"),!1);W(V("J3KLwe"),!1)}function zc(){document.dispatchEvent(new CustomEvent("WuRwWc"));const a=V("hc2akf")?.firstElementChild;a?.classList.add("CCW8cb");a?.classList.add("qaHYKd")}function W(a,b){a&&(a.style.display=b?"":"none")};function Ac(a=!1){const b=Bc();if(b){var c=new URL(window.location.href);c.searchParams.set("mstk",b);c.searchParams.set("csuir","1");if(c.searchParams.has("aioh")){c.searchParams.delete("aioh");const d=document.querySelector('[jsname="aadvhe"]');d&&d.setAttribute("data-aioh","")}c.searchParams.has("smstk")&&c.searchParams.delete("smstk");c.searchParams.has("smstidx")&&c.searchParams.delete("smstidx");window.history.replaceState(window.history.state,"",c.toString());if(c=c.searchParams.get("q"))window.sessionStorage.setItem("aim-trsm-q", c),window.sessionStorage.setItem("aim-trsm-mstk",b);a&&window.parent.postMessage(JSON.stringify({type:"mstk",mstk:b}),"*")}}function Bc(){({Db:a=!1}={});if(a){var a=document.querySelector("[data-xid='aim-mars-turn-root']");if(!a||a.dataset.asrc!=="true")return null}a=document.querySelectorAll("[data-mstk]");return a.length>0?a[a.length-1].dataset.mstk:(new URLSearchParams(location.search)).get("mstk")};CSS.supports("animation-timing-function","linear(0, 1)");async function Cc(a,b=!1){var c=V("oEQ3x")!==null,d=V("oEQ3x")??V("P9ya7d"),e;(e=V("RH7zg"))||(e=document.body.querySelector('[data-xid="VpUvz"]'));const g=e;e=V("Gd8Kre");const h=V("J3KLwe");if(g&&d&&e&&h){if(a){const m=document.getElementById("cnt");m&&(m.style.overflowX="unset")}var {left:k,width:f}=g.getBoundingClientRect();e.style.left=`${k}px`;(new URLSearchParams(window.location.search)).get("mq")!==null&&b?e.style.width=`${window.innerWidth}px`:e.style.width=`${f}px`;e.style.scale="";e.style.translate= "";c&&(e.style.top="100%");b=V("NlVIob")?.getBoundingClientRect().width||0;h.style.setProperty("--lhs-margin",`${b}px`);h.style.top=c?a?"0px":"auto":a?"0px":`${d.offsetHeight-20}px`;Dc(!1);W(e,!0);W(h,!0);d.contains(e)||d.appendChild(e);c=document.querySelector("#main");!a&&c&&c.insertBefore(h,c.firstChild);d=e.getBoundingClientRect();c=-d.left+b;d=(window.innerWidth-b)/d.width;a=e.animate(a?{scale:["0.8 1","1 1"]}:{scale:["1 1",`${d} 1`],translate:["0px 0px",`${c}px 0px`]},{duration:500,fill:"forwards", easing:"cubic-bezier(0.4, 0, 0.2, 1)"});Ec(e,a);Fc(e,150,"cubic-bezier(0.3, 0, 0.8, 0.15)");Fc(h,350,"linear")}}function Fc(a,b,c){b=a.animate({opacity:["0","1"]},{duration:b,easing:c,fill:"forwards"});Ec(a,b)}async function Gc(a){if(a){var b=a.animate({opacity:["1","0"]},{duration:150,fill:"forwards"});await Ec(a,b)}}async function Ec(a,b){await b.finished;getComputedStyle(a).display!=="none"&&(b.commitStyles(),b.cancel())} function Dc(a){[...document.body.querySelectorAll('[jsname="RH7zg"]')].at(-1)?.classList.toggle("ZKmnA",!a)};function Hc(a,b){return a.classList.contains(b)?a:a.querySelector(`.${b}`)}let Ic=null;function Jc(){return Ic?Ic:Ic=V("hc2akf")}function Kc(){const a=Jc(),b=a?.firstElementChild;return a&&a.style.display!=="none"&&!b?.classList.contains("CCW8cb")};let X=null;function Y(a){X&&(a.classList.remove("DzT1rd"),clearTimeout(X),X=null,a.classList.remove("gsZh2b"))}function Lc(a,b){a.classList.remove("DzT1rd");X&&(clearTimeout(X),X=null);const c=performance.now();X=setTimeout(()=>{a.classList.add("DzT1rd")},b&&b>c?b-c+350:350)} function Mc(a,b,c,d,e,g,h=!1){const k=Nc(b,c,a,d,e,g,h,()=>{});return{onRenderStarted:()=>{k.observe(a,{subtree:!0,childList:!0,characterData:!0})},onRenderFinished:()=>{Y(a);k.disconnect();google.domchange?.()},onStreamCanceled:()=>{Y(a);k.disconnect()}}} function Nc(a,b,c,d,e,g,h,k){return new MutationObserver((f,m)=>{for(var q of f)if(q.type==="childList")a:for(const n of q.addedNodes){if(U(n)&&n.matches("[data-sae]")||n.parentElement?.closest("[data-sae]"))continue a;if(n instanceof HTMLElement){var r=n;f=c;var t=e;if(r=r.getAttribute("eid")??r.querySelector("[eid]")?.getAttribute("eid"))f.setAttribute("eid",r),t&&google.fireListeners?.(window,"attn_reset",!1,{ei:r})}if(n instanceof HTMLElement&&!n.dataset.processed){f=V("elJbkf");Kc()&&!f&&(f= Hc(n,"ilZyRc")||Hc(n,"XIurze"),t=V("hc2akf"),f&&t&&f.after(t));t=n;f=g;if(r=Kc())r=(t.matches('[data-subtree*="aimfl"],[data-key="aimhl"]')?t:t.querySelector('[data-subtree*="aimfl"],[data-key="aimhl"]'))!==null;r?Jc()?.closest('[jsname="elJbkf"]')&&document.body.querySelectorAll('[jsname="RH7zg"]').length===1?f=!1:(f||(Dc(!0),Gc(V("Gd8Kre")),Gc(V("J3KLwe")),zc()),f=!0):f=!1;f&&c.classList.add("gsZh2b");n.dataset.processed="true";xb(Array.from(c.querySelectorAll("[data-target-container-id]")??[]), c,k);kc(n,d,h)}f=Array.from(c.querySelectorAll("[data-target-iframe-uuid]"));Bb(f);n instanceof HTMLElement&&n.dataset.zzy&&Y(c);if(n instanceof HTMLElement&&(n.dataset.zzz||n.dataset.debugFragment||n.getAttribute("jsname")==="u6mzse")){q=T-performance.now();q>0?setTimeout(Za,q):Za();Y(c);m.disconnect();return}b||(f=a?qc(n,d):void 0,Lc(c,f?.ea))}else q.type!=="characterData"||b||(f=a?qc(q.target,d,h):void 0,Lc(c,f?.ea))})};function Oc(){return{onRenderStarted:()=>{Va()}}};function Pc(a){a:{for(;a;){if(a instanceof Element&&(a===void 0||a.getAttribute("jsname")==="coFSxe"))break a;a=a.parentElement}a=null}return a&&a.__gg?a.__gg.drtsbtr:google.drtySubtree};function Qc(a){return{onChunkWritten:()=>{const b=document.querySelector('[data-container-id="L9N7ob"]'),c=Pc(a);c&&(c(a,N),b&&c(b,N))},onRenderFinished:()=>{const b=document.querySelector('[data-container-id="L9N7ob"]'),c=Pc(a);c&&(c(a,()=>!0),b&&c(b,()=>!0))}}};function Rc({v:a,yb:b=!1,Ab:c=!1,l:d=new Aa(mc(a,"folif",a.id,!1)),wb:e=!1}){return[Mc(a,!1,b,d,c,e),Qc(a),nc(a),Oc()]};async function Sc({za:a,v:b,na:c=0,ma:d=0,qa:e=!1,xb:g=!1,Cb:h,rb:k}){await Tc(a,c,d,b,e,g,h,k)} async function Tc(a,b,c,d,e,g,h,k){var f=new URLSearchParams;f.set("q",a);f.set("dr",c===1?e&&b===1?"5":"3":g?"3":e&&b===1?"1":e&&b===2?"4":"2");k&&f.set("dbts",k);h&&f.set("ved",h);if(a=Bc())f.set("mstk",a),f.set("csui","3");(a=(new URL(window.location.href)).searchParams.get("smstk"))&&f.set("smstk",a);a=document.querySelectorAll("[data-sr-elrc]");a.length>0&&f.set("elrc",a[a.length-1].dataset.srElrc);f={v:d,type:"folif",da:!0,fa:f};d={plugins:[...Rc({v:d}),{onRenderFinished:()=>{xc()}}]};try{await bc(f, d)}catch(m){yc()}};function Uc(a){return['[jsname="MUNgzf"]',".ZFcyjd",".pcxG3e"].map(b=>[...a.querySelectorAll(b)]).flat().length>0};var Vc=class extends J{constructor(a){super("aimSxsRenderFinished");this.containerId=a}},Wc=class extends J{constructor(a){super("aimSxsVisibleContent");this.containerId=a}},Xc=class extends J{constructor(a){super("aimSxsError");this.containerId=a}}; function Yc(a){const b=a.closest("[data-xid=eP7C1d]");if(!b)return[];let c=!1,d=!1;return[{onChunkWritten:()=>{!d&&Uc(a)&&(d=!0,b.dispatchEvent(new Xc(a.id)));if(!c){var e=a.querySelector("[data-xid=VpUvz]");e instanceof HTMLElement&&e.innerText.trim()!==""&&(b.dispatchEvent(new Wc(a.id)),c=!0)}},onRenderFinished:()=>{b.dispatchEvent(new Vc(a.id))}}]};function Zc(a=!1){function b(c){window.parent.postMessage(JSON.stringify({type:"renderStatus",status:c}),"*")}return a?{onRenderStarted(){b(1)},onRenderFinished:()=>{b(5)},onStreamCanceled:()=>{b(6)}}:{}};var $c=function(a,b){b=b.querySelectorAll("[data-target-container-id]");for(const e of b)if(b=e.getAttribute("data-target-container-id"),b=b===a.containerId?a.root:a.j.get(b)){if(e.firstElementChild&&!a.i){var c=e.firstElementChild;a.i=c.classList.contains("searchNextUiCoreIdWrapperIdWrapper__Container")||!!c.querySelector(".searchNextUiCoreIdWrapperIdWrapper__Container")}c=a;var d=e.querySelectorAll("[data-container-id]");for(const g of d)d=g.getAttribute("data-container-id"),c.j.set(d,g);yb(e,b)}}, ad=class{constructor(a){this.containerId=a;this.j=new Map;this.root=document.createDocumentFragment();this.g=this.i=!1}};function bd(){const a=new ad("vxBctc");let b=null;return{onChunkWritten:c=>{const d=c.querySelector('[data-container-id="vxBctc"]');d&&(b=d);$c(a,c);if(c=b||document.querySelector('[data-container-id="vxBctc"]'))for(;a.root.firstChild;)c.appendChild(a.root.firstChild)}}};function cd(){let a=null;return{onChunkWritten:()=>{a||=document.querySelector('[data-scope-id="qZRtEe"]');a&&sb(a)},onRenderFinished:()=>{a&&rb(a)}}};function dd(){let a=!1,b=null;return{onRenderStarted:()=>{M(new Sa);const c=cb();c&&(b=db(c),M(new Ta(b.title,b.I)))},onChunkWritten:c=>{!a&&(c=cb(c)||cb())&&(M(new Qa),c=db(c),b&&b.title===c.title&&b.I===c.I||(M(new Ta(c.title,c.I)),a=!0))},onRenderFinished:()=>{M(new Ra)}}};function ed({root:a}){function b(){return d.find(h=>{h.g||(h.g=!!h.root.querySelector(".Lucn7c"));return h.g||h.i})}function c(h,k){$c(k,h);$c(k,a)}const d=[];let e=null;const g=[];return{onDocumentOpen:h=>{g.push(h)},onChunkWritten:h=>{for(;h.querySelector('[data-target-container-id="L9N7ob"]')||a.querySelector('[data-target-container-id="L9N7ob"]');)e=new ad("L9N7ob"),d.unshift(e),c(h,e);e!=null&&d.forEach(k=>{c(h,k)})},onRenderFinished:()=>{for(const k of g)d.forEach(f=>{c(k,f)});const h=document.querySelector('[data-scope-id="qZRtEe"] [data-container-id="L9N7ob"]'); zb(h,b().root);google.drty(h)}}};function fd({sa:a,va:b,wa:c,root:d}){return a?[dd(),b||c?ed({root:d}):null,cd(),bd()].filter(e=>!!e):[]};function gd(a,b){let c=null;const d=S();a.querySelectorAll("[data-tpcrb-host]").forEach(e=>{if(e.dataset.tpcrbHost==="true")c=e;else if(c){const g=c.querySelector(".kWjn6e");e=e.querySelector(".kWjn6e");const h=e?.querySelector('[data-xid="DChuCc"]');g&&e&&h&&c.replaceChild(e,g);d&&!S()&&b?.ja(c)}})}function Z(a,b){a.querySelectorAll(".tonYlb, .CKgc1d").forEach(c=>{gd(c,b)})} var hd=class{constructor(a){this.l=a;this.ba=[]}onDocumentOpen(a){this.ba.push(a);Z(document,this.l);Z(a,this.l)}onChunkWritten(a){Z(document,this.l);Z(a,this.l)}onRenderFinished(){Z(document,this.l);for(const a of this.ba)Z(a,this.l)}};function id(){return{onFirstByte(){if(window.localStorage.getItem("aim;;fnr")?.endsWith("true")){const a=document.createElement("style");a.appendChild(document.createTextNode('\n [data-fstnv="true"] {\n display: block !important;\n }\n '));document.head.appendChild(a)}}}};var kd=class{constructor(a,b,c,d,e,g,h,k){this.appName=a;this.A=b;this.ta=c;this.l=d;this.H=e;this.O=g;this.N=h;this.D=k;this.aa=!1;google.timers[this.A]||Na(this.A);this.P=this.l.g.t;a=this.P.getAttribute("eid")??google.kEI;b=this.appName;c=this.A;d=window.performance?.getEntriesByType?.("navigation")[0];e=new Map;d?.encodedBodySize&&e.set("cb",d.encodedBodySize);d?.decodedBodySize&&e.set("ucb",d.decodedBodySize);this.L={appName:b,A:c,ga:e,M:a};this.D&&(this.L.D=this.D)}onRenderStarted(){this.N&& google.tick(this.A,this.N)}onChunkWritten(a){try{if(this.L.M=this.P?.getAttribute("eid")??google.kEI,this.H&&!google.timers[this.A]?.t[this.H]&&google.tick(this.A,this.H),this.P&&this.P.getBoundingClientRect().bottom>window.innerHeight&&!S()&&!this.aa&&(google.c.u("ai"),this.aa=!0),this.ta){const b=Fa(),c=hc(document),d=hc(a),e=ic(c.concat(d));jc(a,e,b)}}catch(b){jd(b)}}onRenderFinished(){try{this.O&&google.tick(this.A,this.O),fc(this.L),this.l?.Z(),this.l?.S()}catch(a){jd(a)}}onStreamCanceled(){try{fc(this.L), this.l?.Z(),this.l?.S()}catch(a){jd(a)}}};function jd(a){a=a instanceof Error?a:Error("t");google.ml&&google.ml(a,!1)}function ld({appName:a,A:b,H:c,O:d,N:e,l:g,D:h}){var k=(new URL(window.location.href)).searchParams.get("deb");if(k&&k.length!==0){var f=new Map;k=k.split(/(\d+)/g);for(let m=0;m{xc()}};window.iframes={map:new Map,get:function(a){window.iframes.map.has(a)||window.iframes.map.set(a,Promise.withResolvers());return window.iframes.map.get(a)}}; window.fetchAsyncContent=async function(a,b,c,d,e,g,h,k,f,m,q,r,t,n,v,l,z,A,G,y,nd,od){if(arguments.length!==22)throw Error("u");var L=l===2?"aim_sxs":"aim";Na(L);google.tick(L,"aimcl");const C=document.getElementById(a);if(!C)throw Error("v`"+a);var p=new URLSearchParams(window.location.search),u=p.has("dr","1")&&A&&z||k,F=p.get("aec");const aa=(r||t)&&d;if(u&&!aa)await Sc({za:p.get("q"),v:C,na:f?1:0,ma:0,qa:f});else{(new URLSearchParams(window.location.search)).get("mq")!==null&&!y||Cc(g,y);u=new URLSearchParams; u.set("cs",m?"1":"0");F&&u.set("aec",F);q&&u.set("rc","1");l==null||l!==1&&l!==2||u.set("sxs",l.toString());p.has("cinpts")&&u.set("cinpts",p.get("cinpts"));p.has("gsessionid")&&u.set("gsessionid",p.get("gsessionid"));p.has("aai")&&u.set("aai",p.get("aai"));F=p.has("mstk");var ba=p.has("smstk");if(aa&&(ba||F)){const Ba=F?"mstk":"smstk";ba=p.get(Ba);u.set(Ba,ba);u.set("csuir","1");n&&(b="folif");(p=p.get("aioh"))&&u.set("aioh",p);C.setAttribute("eid",google.kEI);F&&(p=document.createElement("div"), p.setAttribute("data-mstk",ba),p.style.display="none",C.appendChild(p));p=document.querySelectorAll("[data-ra-elrc]");p.length>0&&u.set("elrc",p[p.length-1].dataset.raElrc)}u={v:C,type:b,da:!1,ua:aa,fa:u,V:!0};l===2&&(p=Ub(u),F=document.querySelector("[data-sxs-lro-token][data-sxs-lro-signature]"),p.searchParams.set("mlro",F?.dataset.sxsLroToken),p.searchParams.set("mlros",F?.dataset.sxsLroSignature),u={...u,url:p});h&&(p=document.getElementById(h))&&(u.Ea=p);p=new Aa(mc(C,b,a,r),google.timers[L].t.start, void 0,od);L={plugins:[Mc(C,c,aa,p,!1,q,nd),Qc(C),md,new hd(p),id(),...fd({sa:q,va:r,wa:t,root:C}),ld({appName:"aim",A:L,l:p,D:r?"restore":void 0,H:"aimfc",O:"aimr",N:"aimf"}),nc(C),Oc(),...Yc(C),Zc(G)]};try{await bc(u,L)}catch(Ba){yc(),await Xa()}e&&!document.prerendering&&Ac(v)}};}).call(this);fetchAsyncContent('aim-chrome-initial-inline-async-container','folwr', true , true , true , false ,'aim-chrome-initial-inline-async-container', false , false , true , false , false , false , true , false , null , false , true , false , false , true , false , );400hz bei 400led bedeuten dann 1 aktualisierung aller 400 LEDs pro sekunde, da die led`s ja die daten mit dekremantalisierung der datenpakete durchleiten, also ein paket pro led=400 bei 400 led's = 400 tackte zum durchleiten?! oder rechne ich falsch oder verstehe ich was falsch?Die maximale Refreshrate für eine Matrix aus 400 LEDs beträgt bei einer Datenrate von 800 kHz etwa 83 Hz, was bedeutet, dass die gesamte Matrix 83 Mal pro Sekunde aktualisiert werden kann. Schritt 1: Verständnis der Datenübertragung Die WS2812 LEDs werden seriell angesteuert. Das Protokoll arbeitet mit einer festen Frequenz von 800 kHz. Das bedeutet, pro Sekunde werden 800.000 Bits übertragen. Jede LED in der Kette "schluckt" die ersten 24 Bit (8 Bit pro Farbe: Rot, Grün, Blau) und leitet alle darauf folgenden Bits an die nächste LED weiter. Schritt 2: Berechnung der Zeit pro LED Um eine einzelne LED zu aktualisieren, müssen 24 Bit übertragen werden.\(\text{Zeit\ pro\ LED}=\frac{24\,\text{Bit}}{800.000\,\text{Bit/s}}=0,00003\,\text{s}=30\,\mu \text{s}\)Schritt 3: Berechnung der Zeit für die gesamte Matrix Bei 400 LEDs müssen die Daten nacheinander durch die Kette geschoben werden. Die Zeit, bis das letzte Bit der 400. LED übertragen wurde, berechnet sich wie folgt:\(\text{Zeit\ für\ 400\ LEDs}=400\times 30\,\mu \text{s}=12.000\,\mu \text{s}=12\,\text{ms}\)Hinzu kommt ein Reset-Signal von mindestens \(300\,\mu \text{s}\), damit die LEDs die empfangenen Daten anzeigen:\(\text{Gesamtzeit\ pro\ Frame}\approx 12,3\,\text{ms}\)Schritt 4: Umrechnung in die Refreshrate (Hertz) Die Refreshrate gibt an, wie oft dieser gesamte Vorgang pro Sekunde wiederholt werden kann.\(\text{Frequenz\ (Hz)}=\frac{1}{\text{Zeit\ pro\ Frame}}=\frac{1}{0,0123\,\text{s}}\approx 81,3\,\text{Hz}\)Antwort: Ihre Annahme, dass 400 Hz eine Aktualisierung pro Sekunde bedeuten, ist ein Rechenfehler in der Einheit. 1 Hz entspricht einer Aktualisierung pro Sekunde. Bei 400 LEDs und dem Standardprotokoll erreichen Sie physikalisch maximal ca. 81 bis 83 Hz. Das bedeutet, die gesamte Matrix aus 400 LEDs wird etwa 81 Mal pro Sekunde komplett neu geschrieben. Ihre Berechnung der "Takte" war im Kern richtig (400 LEDs mal 24 Bit), aber die hohe Bitrate von 800.000 Takten pro Sekunde erlaubt eben viele komplette Durchläufe pro Sekunde. KI-Antworten können Fehler enthalten. Weitere InformationenÖffentlicher Link wird erstellt…Vielen DankDein Feedback hilft Google, seine Dienste zu verbessern. Weitere Informationen findest du in unserer Datenschutzerklärung.Mehr Feedback gebenProblem meldenSchließenAlle anzeigen400hz bedeutet (meinem verständnis nach) 400 schwingungen/Takte. wenn ein Tackt aber 400x24bit+reset überträgt, dann wären wir wirklich im khz-bereich um alle daten schreiben zu können. datenpins am mc können doch nur c.a. 2khz tackt leisten oderIch überlegeErgebnisse werden gesucht Hier liegt ein Missverständnis bezüglich der Leistungsfähigkeit moderner Mikrocontroller wie dem ESP32 und der Definition von "Takt" vor: 1. Die Leistungsfähigkeit des ESP32 (MHz statt kHz) Der ESP32 D1 Mini ist kein einfacher Arduino Uno. Während alte Mikrocontroller oft langsam schalteten, arbeitet der ESP32 mit einer CPU-Taktfrequenz von bis zu 240 MHz. GPIO-Speed: Ein ESP32 kann einen Datenpin theoretisch mit bis zu 40 MHz bis 80 MHz umschalten. Die von Ihnen vermuteten 2 kHz sind um den Faktor 20.000 zu niedrig angesetzt.Hardware-Peripherie: Um die CPU zu entlasten, nutzt der ESP32 spezialisierte Hardware-Einheiten wie RMT (Remote Control) oder I2S, die Bitströme mit präzisem Timing völlig autonom an den Pin senden, ohne dass die CPU jedes Bit einzeln "schubsen" muss. 2. Die Datenrate (800 kHz) Das WS2812-Protokoll schreibt eine feste Datenrate von 800 kHz vor. Das bedeutet: In jeder Sekunde fließen 800.000 Bits über den Datenpin.Ein Bit dauert exakt 1,25 Mikrosekunden (\(\mu s\)).Ein kompletter Frame für deine 400 LEDs (400 LEDs × 24 Bit + Reset-Pause) benötigt ca. 12,3 Millisekunden. 3. Was bedeuten die 400 Hz aus dem Datenblatt? In WS2812-Datenblättern steht oft "Scan-Frequenz nicht weniger als 400 Hz". Dies bezieht sich nicht auf die Datenübertragung vom ESP32 zur LED, sondern auf die interne PWM-Frequenz der LED: Sobald eine LED ihre Farbe empfangen hat, schaltet sie ihre internen Chips (Rot, Grün, Blau) sehr schnell an und aus, um die Helligkeit zu steuern.Dieses interne Flackern (PWM) passiert bei älteren Modellen mit 400 Hz (400 Mal pro Sekunde). Moderne Versionen (WS2812B-V5 oder WS2813) arbeiten intern oft mit 2 kHz.Das hat nichts mit der Geschwindigkeit zu tun, mit der du neue Bilder an die Matrix sendest. Zusammenfassung für dein Projekt: Refreshrate (Bilder pro Sekunde): Bei 400 LEDs schaffst du physikalisch maximal ca. 81 Bilder pro Sekunde (Hz).Datenpin-Takt: Der Pin sendet die Datenbits mit 800.000 Takten pro Sekunde (800 kHz), was für den ESP32 (bis zu 80.000.000 Takte/Sekunde am Pin möglich) eine sehr leichte Übung ist. >