{"id":1063,"date":"2011-11-30T00:42:25","date_gmt":"2011-11-29T23:42:25","guid":{"rendered":"http:\/\/www.zigbe.net\/?p=1063"},"modified":"2016-02-27T17:36:19","modified_gmt":"2016-02-27T16:36:19","slug":"bmoteseth-con-zigbee-1193-lineas-de-codigo-mas-tarde","status":"publish","type":"post","link":"https:\/\/blog.whatsbee.net\/?p=1063","title":{"rendered":"bMotesETH con Zigbee, 1193 l\u00edneas de c\u00f3digo m\u00e1s tarde"},"content":{"rendered":"<p>Os comentaba en el \u00faltimo post el infierno que es escribir un programa que est\u00e9 cerca de la capacidad m\u00e1xima de un Arduino. Con la memoria de programa el problema no es demasiado importante, si no te cabe en la memoria no te cabe, el IDE de Arduino no te deja compilar y ya est\u00e1, nada m\u00e1s a hacer que no sea optimizar el c\u00f3digo hasta que te quepa o eliminar cosas.<\/p>\n<p>Con la memoria RAM es mucho m\u00e1s complicado, no hay ninguna manera de saber si en la ejecuci\u00f3n del programa se ha superado el l\u00edmite, se llega a la conclusi\u00f3n de que se ha superado por el comportamiento err\u00e1tico.<\/p>\n<p>Por \u00faltimo el editor, yo, por ejemplo soy bastante desordenado poniendo los nombres de las variables, las variables se suelen definir en la parte superior del programa, cada vez que tienes una duda y tienes que consultar un nombre (en mi caso con m\u00e1s frecuencia de lo normal) tienes que subir 1000 l\u00edneas y volver al punto en el que estabas (si lo encuentras).<\/p>\n<p>Supongo que la soluci\u00f3n ser\u00e1 gastarse un dinero en un programador JTAG, que permita depurar en l\u00ednea, mientras tanto tendremos que tirar como podamos.<\/p>\n<p>Un gran avance ha sido el descubrimiento de <a title=\"Visual Micro\" href=\"http:\/\/www.visualmicro.com\/\" target=\"_blank\">Visual Micro<\/a>\u00a0un entorno de desarrollo para Arduino basado en el Visual Studio 2010, no voy a dar mucho detalle, se puede seguir el enlace, solo dir\u00e9 que mejora mucho el desarrollo para Arduino.<\/p>\n<div id=\"attachment_1064\" style=\"width: 690px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/blog.whatsbee.net\/wp-content\/uploads\/2011\/11\/Arduino-for-Visual-Studio-Demo.png\"><img aria-describedby=\"caption-attachment-1064\" loading=\"lazy\" class=\"size-full wp-image-1064\" title=\"Arduino for Visual Studio Demo\" src=\"http:\/\/blog.whatsbee.net\/wp-content\/uploads\/2011\/11\/Arduino-for-Visual-Studio-Demo.png\" alt=\"\" width=\"680\" height=\"440\" srcset=\"https:\/\/blog.whatsbee.net\/wp-content\/uploads\/2011\/11\/Arduino-for-Visual-Studio-Demo.png 680w, https:\/\/blog.whatsbee.net\/wp-content\/uploads\/2011\/11\/Arduino-for-Visual-Studio-Demo-300x194.png 300w\" sizes=\"(max-width: 680px) 100vw, 680px\" \/><\/a><p id=\"caption-attachment-1064\" class=\"wp-caption-text\">Arduino for Visual Studio<\/p><\/div>\n<p>&nbsp;<\/p>\n<p>Sobre el bMotesETH, la verdad es que estoy satisfecho del resultado a falta de liquidar algunas \u00abcositas\u00bb. El sensor funciona de la misma forma que las versiones anteriores, pero es capaz de detectar sensores Zigbee, de a\u00f1adirlos a la lista, de presentar los datos recogidos, de renombrarlos, de ubicarlos, etc.<\/p>\n<p>En el pr\u00f3ximo post intentar\u00e9 poner un video del sensor en acci\u00f3n&#8230;&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Os comentaba en el \u00faltimo post el infierno que es escribir un programa que est\u00e9 cerca de la capacidad m\u00e1xima de un Arduino. Con la memoria de programa el problema no es demasiado importante, si no te cabe en la&hellip; <br \/><a class=\"read-more-button\" href=\"https:\/\/blog.whatsbee.net\/?p=1063\">Leer m\u00e1s<\/a><\/p>\n","protected":false},"author":1,"featured_media":1064,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0},"categories":[15,16,2,21,9,10],"tags":[26,35,37,56,80,109,110,111,112,164,173,183,197],"_links":{"self":[{"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=\/wp\/v2\/posts\/1063"}],"collection":[{"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1063"}],"version-history":[{"count":1,"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=\/wp\/v2\/posts\/1063\/revisions"}],"predecessor-version":[{"id":7592,"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=\/wp\/v2\/posts\/1063\/revisions\/7592"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=\/wp\/v2\/media\/1064"}],"wp:attachment":[{"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1063"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1063"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1063"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}