Jump to content

Charrua

Developers
  • Posts

    247
  • Joined

  • Last visited

Everything posted by Charrua

  1. I used PayPal, no problem at all Order #21 that's mine keep the good work!
  2. Spanish ÁáÉéÍíÓóÚúüÑñ
  3. LE 5 will be windows and linux or windows only? Will it has 2 versions, i mean Lua only and PRO: C++ and Lua?
  4. now I started to add some user interface, to select a maze and/or a texture for the floor and some mBot related parameters. I'm using a text file to define maze walls, following some screen shots and the text file which defines the maze:
  5. The mBot software communicates with the real hardware through a serial connection, on the other side instead of the mBot hardware (which is an arduino running a sketch) is my software receiving commands and reporting sensor status as commanded. That´s the real mBot After some changes, the way the robot looks mostly, some explanations and a couple of small programs in scratch and the way them plays on the simulator. Sorry about my version of mBot, I´m obviously not an artist. Line follower sensors are quite a simple device, just a light source and a light sensible sensor that measures the reflected light by the floor, those sensors are calibrated to give only 2 values 1 or 0 if the floor is white or black and, normally a path in black is traced on the floor to follow... The leadwerks way of making a line follower senor is somewhat more complicated: A spot light and a camera. The spot light is needed because the shadow of the environment and/or the mBot it self causes to see shadows as black floor... the camera is rendering to a texture, which i set to the small cubes just to watch what the camera sees, it looks good and gives real time visual feedback. I get the pixels of the texture and average the amount of light received and compares it to a threshold of 1/2 the full range. For the ultrasonic sensor i use a pivot 4 meters ahead of the mBot body just because normally is the usable range of this kind of sensors, each frame i do a world:pick to know if there is something in front of the robot. Following a scratch code for line following and the corresponding simulation. And a simple object avoidance program and it´s behavior on the simulator Juan
  6. at this stage... really don't know there are some things that are so easy of simulate, like the ir sensor, it's just a matter of map keyboard keys and send them to scratch when asked about the ir receiver, and there are other that should be more difficult to emulate. my first goals are basic functions, some set of mazes/tracks and any easy to implement function. At first making a led display and this things sounds to me not so much useful but not so hard to implement. I use de pro version and the serial communication is made cpp side, and any lua simple thing is made in lua
  7. Hardware has this kind of issues, and in the other hand this is what make it lovely but, you got the point. It's true that most of the time software do not run at first try, but the errors are always between the keyboard and the monitor... Hardware has the plus of some connection and or other not depending on us matter that makes we get wrong deductions about the bug we have. With a software tested in a simulator, we get a step accomplished, so if it do not work is a hardware related thing, and in the mean time, we enjoyed programming.
  8. Hi I'm starting a mBot simulator ( http://store.makeblock.com/product/mbot-robot-kit ) mBot is an arduino based robot-car programmed in a scratch environment for educational purposes. The thing is that in a classroom normally there are more students than robot's and a simulator should be handy in the mean time a real robot gets free for playing. By now I implemented the communications protocol between the Scratch IDE and the Simulator. Connection is made via a Software Virtual Port Pair emulator, because, the IDE connects to the robot via a serial port, and sends commands and receives sensed data form the robot via this way. For starting I implemented a sub set of commands: Move motors, ultrasonic sensor (for distance to walls measurement: obstacle avoidance) and Line followers (yes.. for the same purpose :). Firsts test are ok. Here a couple of videos, first having both programs interconnected, running a simple program in scratch and seen the robot act as commanded. Program is so simple, move forward, move backward, turn right, turn left.. Second video shows the same program running on a real robot, not the mBot, just one i made compatible with it. just another real hardware test For the ultrasonic sensor I'm using world->Pick and for the line followers sensor I'm using a couple of cameras which renders to a texture, then i average the light seen getting the pixels of the texture and simply averaging them. Next steps will be, testing a obstacle avoidance and line follower automatic motion program, with the simulator and real hardware. Simulator has to match as much as possible the real hardware so still much to do on metrics. Her a couple of snap shoots: Juan
  9. is there a way to find the color of the picked surface after a world::pick or similar? i guess that should be doing some maths with u,v coords and the relative position of the pick with respect to the triangle vertex... but i can not figure it out.. , or there is a simple and obvious way of doing it. thanks in advance Juan
  10. Hi Yes, you can access any entity created on a map looping on the world entities collection see: Juan
  11. I started another thread (https://www.leadwerks.com/community/topic/16553-handling-widgets-created-cpp-side-and-lua-side/) because i started with a gui in lua and then has the need to create and handle some widgets in cpp code, i had some troubles and guessed that the problem was in a bad parameter usage/passage. So I decided to make it work only in cpp code and i found that the test (event->source == butt1) never gets true, the same problem that i have when calling a method from lua passing the event peeked from the queue. Relevant parts of my code: /* globals */ GUI* gui; Widget* butt1; /* in App::Start */ gui = Leadwerks::GUI::Create(context); butt1->Button("Quit",30,30,100,50,gui->GetBase()); /* function to process events */ bool App::ProcessEvent(Event* event){ if (event->id == Event::WidgetAction) { System::Print("widget action!"); if (event->source == butt1) { System::Print("butt1 pressed"); butt1->Hide(); return false; //quit } } return true; } inside App::Loop while (EventQueue::Peek()){ System::Print("event queue peek"); Event event = EventQueue::Wait(); if (ProcessEvent(&event)==false) return false; } what am I doing wrong? thanks in advance Juan
  12. thanks for sharing this beauty It remembers me an old technique of making shadows.. by creating a black+alpha mesh that overlaps the terrain/buildings with a small offset, when almost all thing were made by hand!
  13. Hi I have some widgets created and handled on lua scripts Now i need to create some widgets cpp side, and, as far as i know, there is one eventQueue so only one loop to peek events should exists, isn't it? I do that loop, on a lua scrpt and i have exposed a class with tolua with only one method: void ProcessEvent(Event event) and when a piked event.source do not match any widget created by lua scripts then, the ProcessEvent in lua calls it's counterpart ProcessEvent method and pass the event to it. When i push a button created by cpp, then the ProcessEvent method is invoked (that's ok and nice!) but the test if (event.source == myCppCreatedButton) never gets true i can and do use, event.id for example, so not all is wrong.. i guess that perhaps i'm missing something obvious, casting perhaps? any idea? by the way, any idea of doing the same thing better? or I did take a complicated solution being one easier? thanks in advance Juan
  14. thank's for your time and generator yesterday i wrote a very simple class to start doing some tests and found that there is a generator for windows and as i have to write th .pkg by hand (for a simple test class is not so much work) i just be curios about the same tool for linux. if I get it to work, in case i use it i'll will update here or on your thread, but, you know, if i already make it work by hand... and my class will not be so much complicated... chances are that i let it as is for a while thank's again Juan
  15. is there a similar tool for linux?
  16. he, he, i edit the code blocks, they were unindented, and i hate this! also i noticed that my public dropbox folder isn't public any more.. that's weird.. the project posted and other things all over other posts are not available any more will have to fix this
  17. If possible, naturally... I'm having trouble with lib steam so... there are lots of threads about this file and associated errors... I guess that if i do no use steam, then, why is this file giving me troubles.. and the, why not to disabe steam compleately. Is there a way of doing this? thank's Juan
  18. I'm doing my first steps on ubuntu/leadweks To launch leadwerks editor, i'm double clicking on the Steam icon on my desktop, then selecting on my Steam Library and launching Leadwerks from there. I guess, (for sure) that there is a way of launching the editor without the need of steam (without internet connection for example), isn't it? How can i do that? Thank's Juan
  19. I'm new here. in linux I started a marble, project, publish it as standalone, and run it by double clicking on the marble file inside the marble folder on the desktop, no problem. I started a "tutorial samples" project, write my own app.h and app.cpp, did not change main.cpp I run it form the editor, and from code blocks without any problem. I publish the project as stand alone and when i double click the pj01 file on the pj01 folder on the desktop, nothing happens, if I right click and select run, same result, then i open a terminal and when i type ./pj01 and hit enter the error message appears. Any advise? thank's Juan
  20. Hi I need to execute a stand alone leadwerks app at startup and after quitting the app system should shut-down. My intention is that the user just only has the capability of turning on the computer, use my app and when finished, the system automatically shut down. Is there an an easy way of doing this, using a kind of autoexec.bat old dos like file? Juan
  21. I was having troubles mounting my windows drives on ubuntu. Windows 8 and 10 defaults to hibernate instead of shut down. So, for ubuntu to mount the drives instead of Shut Down I have to Restart (which do not hibernate). Going hibernate does startup faster, but drives are not mounted from ubuntu. Another solution is to "change what the power button do" in "power options" under "hardware and sound" in the "control panel" unchek the "turn on fast startup (recommended)" option. Now, i simple click on the drive icon and the drive is mounted Juan
  22. thank's works ok, and now code blocks builds the project i'm having an issue with code blocks, in which when I invoke a dialog it shows empty and can not quit from it! happens that on a second try (after restarting the app) the same dialog shows correctly.. any ideas? for the record: ok, after creating a filename.sh with a text editor.. on a terminal, chmod +x filename.sh to change it's attributes to executable, then on a terminal ./filename.sh
  23. thank's I'll try translated to a no linux man... is a text file when i create it with a text editor, i have to change it's attributes to make it executable.. as i remember did a couple of times long ago, have to look how.. and then run it, just typing it's name from a terminal.. isn't it?
×
×
  • Create New...