Adding a VI with NXT block to a project and create an executable file

Dear all,
I have a serious problem with the Lego NXT module for LabVIEW. I'm wrote a software for electrochemical measurements that has to inferface with a custom made potentiostat that is integrated with a microfluidic system, whose peristaltic pumps are moved by Lego NXT motors. Since the motors add mechanical and electrical noise to the measurements, I wanted to create a simple VI that could synchronize the motors with the measurements. I managed to do it, but when I create the executable file (the software has to run on computers that do not have LabVIEW installed, so I need to create a stand alone application to distribute it among the partners of this project) the VI that controls the motors do not work anymore and returns me an empty error message. 
I hope that the problem is clear.
Now, my question is the following: Can I insert a VI that controls NXT motors in a compiled application that has to run on any PC that hasn't LabVIEW installed?
Thank you very much in advance
Lando

Hi Lando,
I expect you wont be able to use the dual mode NXT API in a labview built executable because that API makes calls into private labview application instances that wont exist in the context of an executable.
However, you should be able to use the older NXT Direct I/O API (these are the VIs with grey icons). This API can not be deployed to the NXT, but it sounds like you aren't interested in that anyway.
The Direct I/O palette can be found at NXT Robotics:NXT I/O: NXT Direct I/O .
Note that with this API you will be responsible for creating and destroying handles(NXT Objects) to the brick.
Good luck and let me know if you have more questions.

Similar Messages

  • F-Secure pop-up with a block of: "adobe_lictil.exe" and "creative cloude.exe"

    Never seen before (PC Windows 7).
    After yesterday’s update of CC desktop, F-Secure pop-up with a block of: “adobe_lictil.exe” and “creative cloude.exe” What to do?

    Never seen before (PC Windows 7).
    After yesterday’s update of CC desktop, F-Secure pop-up with a block of: “adobe_lictil.exe” and “creative cloude.exe” What to do?

  • Hi guys, once again I've been tinkering with my iMac (late 2008) model and created a problem for myself... I )as many before me have and will continue to do) selected get info on my harddrive and gave everyone "no access" so can't boot the system...

    To complicate matters I tried to run the mac os snow leopard cd but alas it could not boot so it did not save me and now the cd won't eject either probably due to the no access to everyone. I was patient and gentle guys.
    I have tried the following without success..
    1. Ejecting the cd using the famous 5 options already posted on here.
    2. Power on holding down "c".
    3. Power on holding down "command s"
    Basically reinstalling the system software, changing permissions, then using TM to restore my system before the problem seems impossible unless a genius  here (or at the store) can help me with a rescue mission...
    Can anyone help with this? Aside from this particular incident, I'm a pretty bright kid so happy to try a few things before giving up...
    Thanks in advance for your time.

    Hi LetJoJoTakeOver, thank you for that. I did actually try the former piece of advice.
    The problem has now been resolved by folks at the Apple Store and this it what they did...
    1. Using one prepared earlier, they hooked up an external hard drive with Snow Leopard installed on it.
    2. Held down the "Option" key while starting up my iMac.
    3. Selected my hard drive then hit the "Command i" (get info) keys.
    4. Restored the permissions under "everyone" to "read and write".
    5. Ran "Disk Utilities" to make sure there were no other permission issues.
    6. Restarted the iMac with the external hard drive disconnected.
    Hey presto. It worked.
    Lesson learned?
    I think it's clear. You can pretty much do anything software related and the guys at the Apple Store can sort it out when all else fails.

  • I installed my new iMac with my Macbook Pro 2008 backup and created a network with the iMac and now the Macbook Pro cannot get internet.

    I installed my new iMac with my Macbook Pro 2008 back up.  I created a iMac network with Airport extreme, but now my Macbook Pro cannot get internet.  any ideas on why or what to do about it.

    Hello 1BillyMac,
    It seems you have a network conflict that isn't allowing your MacBook Pro to connect to the internet. This may be caused by both computers sharing identical network settings. You may want to consider creating a new network location on your MacBook Pro to assign new network settings. The following article will instruct you on how to do that:
    OS X Yosemite: Add a network location
    A network location is a group of network settings
    A network location is a group of network settings for your various network services (Ethernet or Wi-Fi for example).
    If you often change network settings, you may find switching between locations quicker and easier than repeatedly modifying individual groups of settings. 
    For example, you might want to make a location for “home,” where you connect to the Internet with a telephone modem, and a location for “office,” where you connect to your company network and the Internet using Ethernet or AirPort. 
    Choose Apple menu > System Preferences, then click Network.
    Click the Location pop-up menu, choose Edit Locations, then click Add . 
    Enter a name for the location, then click Done.
    Enter settings for each network connection service you want to use in that location.
    After you create your locations, you can switch all of your network settings by clicking the Location pop-up menu and choosing a different location.
    Thank you for contributing to Apple Support Communities.
    Cheers,
    Bobby_D

  • LabView Connection to NXT block Question

        Hi,
    I am trying to connect a NXT block using bluetooth. I have paired the device with the bluetooth software and created a serial connection. Thus I can just send data from LabVIEW using VISA but its proving more dificalt than I thought.
    All I have to do is send a string or integer to the NXT block.
     How can I create a simple sending function using LabVIEW -VISA for just an integer or string ??
    Attachments:
    Spike.vi ‏72 KB

    A couple of comments:
    1. I recommend that you invoke the Get Device Info VI after creating the NXT object to verify that you can communicate with the NXT.
    2. I don't remember what the default of the require response input to the Send Direct Command VI, but you need to specify TRUE if TRUE is not the default.
    3. You should wire the response buffer output to an indicator so you can examine the response from the NXT. I'm not sure how you are determining that you are not getting a response since you are checking for one.
    JacoNI wrote:
    Also I noticed you keep refering to spike.rtx. What is this? My VI running on the NXT block is named "Spike Remote"
    Will this have an affect? The VI jpg has got this name in hex but still no response :/
    4. "spike.rxe" was the name of the program on the NXT in my example. Programs on the NXT have an extension of rxe. I would recommend the use of the "String to Byte Array" VI rather than building the array by hand. The bytes you specify appear to be decimal rather than hex numbers and probably don't represent the string you expect. You also are missing the extension. Wire "Spike Remote.rxe" into the "String to Byte Array" VI and append a NULL byte.
    geoff
    Geoffrey Schmit
    Fermi National Accelerator Laborary

  • Expenditure Type LOV-- Adding where clause with controller extension- help

    Hi Gurus,
    I'm new to OA Framework and Java and I need to extend the controller for the expenditure type lov in iProcurement. I need to add a where clause to the VO to show only those expenditure
    types that will pass transactions controls based on the project and task.
    Name of the VO:ExpenditureTypeNoAwardLOVVO
    controller:oracle.apps.icx.lov.webui.ExpenditureTypeLovCO
    Original Query from the VO:
    select * from (SELECT et.expenditure_type, et.sys_link_start_date_active,
    et.sys_link_end_date_active, 1 as dummy_number
    FROM pa_expenditure_types_expend_v et
    WHERE et.system_linkage_function = 'VI'
    and (trunc(sysdate) between et.expnd_typ_start_date_active and
    nvl(et.expnd_typ_end_date_active, trunc(sysdate+1)))
    and (trunc(sysdate) between et.sys_link_start_date_active and
    nvl(et.sys_link_end_date_active, trunc(sysdate+1))) QRSLT
    ((WHERE UPPER(EXPENDITURE_TYPE) like UPPER(:1)
    AND (UPPER(EXPENDITURE_TYPE) like :2 or UPPER(EXPENDITURE_TYPE) like :3
    or UPPER(EXPENDITURE_TYPE) like :4 or UPPER(EXPENDITURE_TYPE) like :5)))
    I created a custom database function xxpa_check_txnctl which takes project_id, task_id and expenditure type as parameters and returns "Y" if that expenditure type is valid or
    returns "N" if it is not valid.
    What I need to add to the where clause of the above query is
    and *'Y' = ( select xxpa_check_txnctl(project_id,task_id,et.expenditure_type) from dual)* to the standard VO query so that only valid expenditure types will show up in the LOV for that
    project/task combination.
    I enabled the Debug Log from Diagnostics and able to see the values of project_id and task_id in the controller attached to the LOV (oracle.apps.icx.lov.webui.ExpenditureTypeLovCO) as shown
    below. Please tell me how I can add the where condition to the custom controller .
    I really appreciate your help.
    Thanks in Advance,
    Shree.
    ==========================================================================================
    [28]:STATEMENT:[icx.lov.webui.ExpenditureTypeLovCO]:#Param# ProjectId=13
    [28]:STATEMENT:[icx.lov.webui.ExpenditureTypeLovCO]:lov criteria item from dictionary in getLovItemNumber():
    [28]:STATEMENT:[icx.lov.webui.ExpenditureTypeLovCO]:#Param# TaskId=796
    [28]:STATEMENT:[icx.lov.webui.ExpenditureTypeLovCO]:VO used in ExpenditureTypeLovCO.java:
    [28]:STATEMENT:[icx.lov.webui.ExpenditureTypeLovCO]:#Param# voName=ExpenditureTypeNoAwardLovVO
    ==========================================================================================
    Here is the code for the standard controller:
    ==========================================================================================
    package oracle.apps.icx.lov.webui;
    import com.sun.java.util.collections.ArrayList;
    import oracle.apps.fnd.common.VersionInfo;
    import oracle.apps.fnd.framework.OAApplicationModule;
    import oracle.apps.fnd.framework.OAViewObject;
    import oracle.apps.fnd.framework.webui.OAPageContext;
    import oracle.apps.fnd.framework.webui.beans.OAWebBean;
    import oracle.apps.fnd.framework.webui.beans.form.OAFormValueBean;
    import oracle.apps.fnd.framework.webui.beans.layout.OAListOfValuesBean;
    import oracle.apps.fnd.framework.webui.beans.message.OAMessageStyledTextBean;
    import oracle.apps.icx.por.req.webui.CheckoutInfoBaseCO;
    import oracle.jbo.domain.Number;
    public class ExpenditureTypeLovCO extends CheckoutInfoBaseCO
    public static final String RCS_ID = "$Header: ExpenditureTypeLovCO.java 120.1 2006/07/25 06:33:16 sudsubra noship $";
    public static final boolean RCS_ID_RECORDED = VersionInfo.recordClassVersion("$Header: ExpenditureTypeLovCO.java 120.1 2006/07/25 06:33:16 sudsubra noship $",
    "oracle.apps.icx.lov.webui");
    public ExpenditureTypeLovCO()
    public void processRequest(OAPageContext oapagecontext, OAWebBean oawebbean)
    super.processRequest(oapagecontext, oawebbean);
    java.util.Dictionary dictionary = oapagecontext.getLovCriteriaItems();
    Number number = getLovItemNumber(oapagecontext, dictionary, "ReqAwardId");
    Number number1 = getLovItemNumber(oapagecontext, dictionary, "ProjectId");
    Number number2 = getLovItemNumber(oapagecontext, dictionary, "TaskId");
    String s = null;
    if(number == null)
    s = "ExpenditureTypeNoAwardLovVO";
    } else
    ArrayList arraylist = new ArrayList(1);
    arraylist.add("getDefaultAwardId");
    Number number3 = (Number)executeServerCommand(oapagecontext, oapagecontext.getApplicationModule(oawebbean), "CheckoutLovSvrCmd", arraylist);
    if(isLoggingEnabled(oapagecontext, 1))
    logParam(this, oapagecontext, "defaultAwardId", number3, 1);
    if(number.equals(number3))
    s = "ExpenditureTypeWithDefaultAwardLovVO";
    OAViewObject oaviewobject = (OAViewObject)oapagecontext.getApplicationModule(oawebbean).findViewObject("ExpenditureTypeWithDefaultAwardLovVO");
    oaviewobject.setWhereClauseParam(0, number1);
    oaviewobject.setWhereClauseParam(1, number2);
    } else
    s = "ExpenditureTypeWithAwardLovVO";
    OAViewObject oaviewobject1 = (OAViewObject)oapagecontext.getApplicationModule(oawebbean).findViewObject("ExpenditureTypeWithAwardLovVO");
    oaviewobject1.setWhereClauseParam(0, number);
    if(isLoggingEnabled(oapagecontext, 1))
    logMsg(this, oapagecontext, "VO used in ExpenditureTypeLovCO.java:", 1);
    logParam(this, oapagecontext, "voName", s, 1);
    OAMessageStyledTextBean oamessagestyledtextbean = (OAMessageStyledTextBean)oawebbean.findIndexedChildRecursive("ExpenditureType");
    oamessagestyledtextbean.setViewUsageName(s);
    OAMessageStyledTextBean oamessagestyledtextbean1 = (OAMessageStyledTextBean)oawebbean.findIndexedChildRecursive("StartDate");
    oamessagestyledtextbean1.setViewUsageName(s);
    OAMessageStyledTextBean oamessagestyledtextbean2 = (OAMessageStyledTextBean)oawebbean.findIndexedChildRecursive("EndDate");
    oamessagestyledtextbean2.setViewUsageName(s);
    OAFormValueBean oaformvaluebean = (OAFormValueBean)oawebbean.findIndexedChildRecursive("ReqAwardId");
    oaformvaluebean.setViewUsageName(s);
    OAFormValueBean oaformvaluebean1 = (OAFormValueBean)oawebbean.findIndexedChildRecursive("ProjectId");
    oaformvaluebean1.setViewUsageName(s);
    OAFormValueBean oaformvaluebean2 = (OAFormValueBean)oawebbean.findIndexedChildRecursive("TaskId");
    oaformvaluebean2.setViewUsageName(s);
    ((OAListOfValuesBean)oawebbean).setViewUsageName(s);
    public void processFormRequest(OAPageContext oapagecontext, OAWebBean oawebbean)
    super.processFormRequest(oapagecontext, oawebbean);
    ==========================================================================================

    Hi, I will try to look into the issue. I have also done customizations like this in past.
    To achieve this, we must read the Process request of CO properly and understand the places, where you have to make changes. In my case, I identify such places and also I couldn't extend the controller class. SO I took the code from standard CO, changed it at couple of places and created a class file with same code as standard CO but with changed at some places. After that I gave newly created CO name in personalization property, so that the page will follow newly created custom CO.
    So I would suggest to read the CO properly, to understand which line is doing what......

  • How can I create a exe file with a tab control on it that work´s ?

    I have a VI with many controls and indicators,these are spread on a tab control.This tab control works with out any problems but if i create a exe file then the tab control is fixed. How can I create a exe file so that the tab control on it work´s ?

    I have made a new Posting with the same question but this time I added a screenshot of the VI.
    Attachments:
    project7.1.jpg ‏129 KB

  • Problems with classpath and accessing a specific file

    I'm currently running an application using NetBeans (I know this is the Sun Forum but maybe someone can help). For those who aren't familiar with this IDE, whenever a project is created, a ProjectName folder is also created. Inside that folder are 5 new folders (*build*, dist, nbproject, src and test) as well as 2 new files (*build.xml*, manifest.mf). The dist folder contains the *.jar* file.
    Seeing that this is an audio application, I am constantly working with audio files. In the ProjectName folder, I've created a sixth folder (*audiofiles*) were I load and save such audio files. To access a specific audio file, I do the following:
    File audioExample = File("audiofiles" + File.separator + "audio.wav");When I run the project from the IDE there doesn't seem to be a problem. However, when I try to run the project by simply double-clicking the *.jar* file in the dist folder, the audio files can't be accessed. In order to be able to access them, I need to change the path:
    File audioExample = File("C:\...\ProjectName\audiofiles\audio.wav");This seems to solve the problem temporarily, but if I decide to change to project folder location, I also need to change the path.
    QUESTION:
    What is the best way to access files so that they are not dependent on where the project folder is located? Do I need to modify the classpath or simply write the path in File(...) in a specific way? If I need to modify the classpath, how can I do so in Netbeans?
    Thanks in advance.

    DrClap,
    Thanks for the reply. To answer your questions:
    Naturally that depends on where you DO want to load from. Are the files in the classpath? Are they in the current working directory?
    Some other directory where you can ask the user to point to? On a different computer?The audio files are located in a created folder in the IDE project folder. I know you mentioned that I should stop thinking about this as an IDE project but I don't know any other way to think about it. I'm kinda new to Java, and the only way I've learned how everything is structured is through the IDE project structure. I'm realizing that this is probably not the best way to go about as it doesn't allow me to have a good understanding of the Java file structure. What changes do I need to make in the way I view my IDE project to make it more into a deployed version?
    I'm also having a hard time understanding the classpath concept. I've been under the impression that the classpath was simply the location of the packages and classes of a specific application. How could I check if the audio files are in the classpath?
    Thanks in advance.

  • Oracle APPS schema copy with all privileges to new schema and table space

    Hi all,
    Here is scenario:
    I have installed e-business suite in windows 2003 server for training environment using production (prod), single node and without vision (demo).
    i have to create a new table space in e:\oracle\prodmanz with similar content as in proddata and create a new schema called manz with same privileges as APPS.
    Kindly advice.
    Manish Kumar Chudasama
    email: [email protected] cc to [email protected]
    Thanks in advance guys.

    Hi Khalid,
    Ideally when you execute sql 'create schema <schema_name>' then the logged in user is going to default owner of the schema and you should see that under 'object privileges' of that user.
    The user will have 'create any' privileges which means the user has all the privileges on that schema.
    if you want to check who is owner of the schema in the system, please check 'SCHEMAS' under views in SYS.
    Regards,
    Venkat N.

  • Need help with a Context Sensitive Help project

    Hey everyone,
    I'm the RoboHelp administrator around here - I've done some
    RoboHelp projects and created the procedures, stylesheets and
    templates for our company's WebHelp, WinHelp 2000, and JavaHelp
    projects, but now I'm sort of the consultant for the content
    authoring team that creates the help systems. I think I need to
    call in some help from the forum about a project I'm consulting on.
    Here's the situation: A project team here thinks they want
    field-level help to support a web-based application. I've told them
    "That's fine, it's possible, just don't demand that the help author
    create topics for EVERY field, even the obvious ones like "Name",
    "Address", "Zip", etc, since there is very, very little value in
    doing that." We already have a very old help system that is being
    CONVERTED to WinHelp 2000 (from a "mocked-up" version of WinHelp)
    that did just that - every field in every screen was a separate
    topic, even if it wasn't useful. Every topic was essentially "This
    information goes in this field". As a result, we abandoned creating
    an Index, since we had about 27 entries for "Name", 13 for
    "Address1", 15 for "Address2", etc.
    Well, I just heard back yesterday that they totally ignored
    my suggestion and they want to go ahead with the "all help for all
    fields" idea. I still think I have a chance of convincing them to
    choose context-sensitive topics wisely, if it can present my case
    clearly and be persuasive. I just found John Daigle's article about
    context sensitive help (
    http://www.macromedia.com/devnet/robohelp/articles/context_help.html)
    and I'm looking at it now (very well done, by the way - thanks
    John!). It looks like, from first glance, that it might convince
    that project team that "Whoa, this context-sensitive thing is more
    than we bargained for", which is what I want them to think, since
    they have very limited resources and a help author that is VERY new
    to RoboHelp and WebHelp. I personally have never built a
    context-sensitive help project with different windows, but I have
    built several projects using conditional builds.
    What does everyone think of this approach?
    Thanks,
    Jim

    Here's a nice, convincing argument that I just thought of -
    the only thing wrong with it is that I don't know if it's true or
    not.
    Does the end user's browser cache the .htm files for the help
    topics that are grabbed from the server? If so, consolidating the
    field definitions lessens the server traffic.
    (Always get the server guys on your side - everywhere I've
    worked, they wield a big stick!)
    Also, I'm a big believer in functional help topics, but I
    have compromised for some clients and included one-per-screen
    conditional topics with the field labels. John, I wish I had known
    about the map numbering trick back then - I would have loved to
    give them F1 help.
    Elisa

  • Adding new fields to assignment block, what are the steps to do this.

    CRM 7.
    Could someone tell me what the steps are to add new fields to specifdic assignment block. Assume that these fields do not already exist in any given structure/table.
    My understanding is that I need to use transaction EEWB and then somehow use the component  "BSP_DLC_FS" and view "factsheet". But having never used EEWB before I'ma tad lost.  I'm in EEWB and have crfeated a project and believe that I now need to create an extension. When doing this I am displayed a box with 4 fields, being: Name, Description, EEW Bus object and Extension type. What are my next steps?
    I assume that the EEW bus object is 'BUPA' and the extension type is 'ADD_NEW_FIELDS'. However, how do I know for sure that the EEW bus object should be 'BUPA', bearing in mind that I'm adding new fields to the Account (BP) main address communication data Assignemnt block?.
    I wondered if anyone has a link to any guide docuemnt about how to do this?.
    Any help would be very much appreciated.
    I attempted to use EEWB to add new fields to BUPA but am hitting the error: BDT-DC is Not Prepared for This Application Object
    On searching I can see that there are ways around this, via SM30 against table/view V_TBZ1_DC, changing the BDT BC settings, whatever they are. But it gives me a warning when this happens and mentions that only SAP are allowed to do this, but it will allow me to create a transport if I press on past this. Should I need to make this change though, or have I just done something wrong within EEWB I wonder.
    Jason

    Hi Jason,
    You can try using Application Enhancement Tool (AET) to create new fields instead of EEWB,
    Best Regards,
    Gobinda

  • Master-Detail with 2 blocks based in stored procedure doesn't work.

    Hi. I'm Oscar and I'm new for here.
    I have a problem that i can't find the correct answer to solve it.
    Well. I've created a form with 2 blocks. Both of them have the Query Data Source Type Property to "Procedure", and both procedures on database returns one ref cursor of a record type each one.
    BLOCK BL_COMPETICIONES --> query data source: p_get_competiciones (p_Cursor is cursor of record (CODIGO NUMBER,
    NOMBRE VARCHAR2(50),
    SETCRICKETSN VARCHAR2(1),
    SET01SN VARCHAR2(1),
    FECHAINICIO DATE,
    FECHAFIN DATE).
    On triggers (on-lock, on-insert, on-delete and on-update) I have the call to the corresponding stored procedure to lock, insert, delete or update.
    Well, when i've only this block in form, the form works correctly.
    But when I added a second block (which is suppossed to be a detailed data from the first one), and after I've assigned the query procedure and created the relation between both blocks, then run the form and try to execute query on first block, returning records correctly, but then, when execution goes to the program unit "query_master_details", the sentence "execute query" doesn't do anything (and the cursor is in the detailed block), so detailed block continues to be without records.
    I don't know how to solve this. Someone can help me, please?. Thanks.
    Edited by: user5067020 on 09-abr-2009 16:38

    It could be that there is something screwy with LV, but given that it uses standard interfaces for comm with the DBMS, I would not expect that. A much more realistic possibility is that the toolkit is mucking things up. (A fairly common occurrence.)
    Try bypassing the toolbox -- which you don't really need anyway -- an talk directly to the ActiveX or .net interface.
    Also, what DBMS? What drivers are you using?
    Mike...
    Certified Professional Instructor
    Certified LabVIEW Architect
    LabVIEW Champion
    "... after all, He's not a tame lion..."
    Be thinking ahead and mark your dance card for NI Week 2015 now: TS 6139 - Object Oriented First Steps

  • Why do "official" NXT blocks have to be password protected?

    Like everyone, I'm new to building NXT blocks with LabVIEW.  The projects we had in mind when we got LabVIEW were to combine and modify existing NXT-G blocks to make them more suitable for our purposes.  However, the first thing I learned was that the block diagrams to all of the existing blocks are password protected.  Therefore, instead of being able to take the easy approach of modify the work that has already been done, we have to start from scratch.  Does anyone know why NI won't let the public have access to the block diagrams?

    Hi Eagles Coach,
    The existing NXT blocks contain several different VIs with proprietary software. Like any other software company, it is in National Instruments' best interest to protect the original source code the NXT software was built upon.
    So, rather than leaving eager programmers such as yourself in the dark we created an NXT Toolkit which provides all NXT VIs not deemed proprietary. You have the means to create your own blocks while National Instruments keeps important software practices internal.
    If you're looking for examples so you don't have to start from scratch, simply peruse the examples included with the Toolkit! C:\Program Files\National Instruments\LabVIEW 7.1\examples\NXTToolkit contains several relevant examples for just about any application, and if you hit any bumps just post to the discussion forum.
    Cheers.
    | Michael K | Project Manager | LabVIEW R&D | National Instruments |

  • In Primavera Risk Analysis, the MIN. ML, MAX columns is for imput the minimum impact, most likely impact , maximum impact duration of a risk or the remaining duration for MIN, ML and adding remaining duration with maximum impact for MAX?

    In Primavera Risk Analysis, the MIN. ML, MAX columns is for imput the minimum impact, most likely impact , maximum impact duration of a risk or the remaining duration for MIN, ML and adding remaining duration with maximum impact for MAX?

    You are welcome. I'm glad you got it back up.
    (1) You say you did the symbolic link. I will assume this is set correctly; it's very important that it is.
    (2) I don't know what you mean by "Been feeding the [email protected] for several weeks now, 700 emails each day at least." After the initial training period, SpamAssassin doesn't learn from mail it has already processed correctly. At this point, you only need to teach SpamAssassin when it is wrong. [email protected] should only be getting spam that is being passed as clean. Likewise, [email protected] should only be getting legitimate mail that is being flagged as junk. You are redirecting mail to both [email protected] and [email protected] ... right? SpamAssassin needs both.
    (3) Next, as I said before, you need to implement those "Frontline spam defense for Mac OS X Server." Once you have that done and issue "postfix reload" you can look at your SMTP log in Server Admin and watch as Postfix blocks one piece of junk mail after another. It's kind of cool.
    (4) Add some SARE rules:
    Visit http://www.rulesemporium.com/rules.htm and download the following rules:
    70sareadult.cf
    70saregenlsubj0.cf
    70sareheader0.cf
    70sarehtml0.cf
    70sareobfu0.cf
    70sareoem.cf
    70sarespoof.cf
    70sarestocks.cf
    70sareunsub.cf
    72sare_redirectpost
    Visit http://www.rulesemporium.com/other-rules.htm and download the following rules:
    backhair.cf
    bogus-virus-warnings.cf
    chickenpox.cf
    weeds.cf
    Copy these rules to /etc/mail/spamassassin/
    Then stop and restart mail services.
    There are other things you can do, and you'll find differing opinions about such things. In general, I think implementing the "Frontline spam defense for Mac OS X Server" and adding the SARE rules will help a lot. Good luck!

  • I2C NXT block modifications / new block supporting RS485 interface port 4

    Hello
    1. Has anyone tried to modify the published I2C  read and write NXT blocks so that they can support the full 16 byte buffers available in the NXT firmware.  Many I2C interface applications require more than reading or writing one byte at a time.
    Even the Ultrasonic sensor has some multi byte parameters that could be accessed.
    It would appear that one only has to provide access to the buffer element contained within the lower level VI's in the current solution, but being a newbie   i have not been able to successfully make these buffers available on the main front panel.
    2. Has anyone created a NXT block that allows access to the RS485  port 4 hardware.  I see that no one had responded to an earlier post concerning this solution. I have seen  example  NXC code,  but i was looking for an NXT block implementation.
    3. Is there a tutorial that explains technique's for developing and debugging a NXT block for use on the NXT ?
    I have read thru the pdf  tech docs and have followed the examples, but i still find it difficult to understand how one goes about createing, testing, debugging the application before creating a block for the NXT.
    I am obviously missing some important points about Labview development for NXT.  I have a lot of experience developing embedded applications with C, but this is the first time i have tried to do anything with Labview especially with the Lego NXT as the Target device.
    I want to create NXT blocks for some homebrew sensors that i have created. I need full access to the I2C and RS485 support in the NXT.
    Can anyone suggest ways one should go about createing, debugging, this type of sensor interface block for the NXT.
    Thanks
    KC

    Yes: there are so many questions in your post that it is difficult to build an answer...
    I surely can not help you with the problem of multiple bytes.
    This is an answer to your question about rs485 in NXT-G:
    http://forums.nxtasy.org/index.php?s=&showtopic=1676&view=findpost&p=13530
    I don't know if you have already studied the i2c-related pages in:
    http://www.tau.ac.il/~stoledo/lego/
    this too is an example which can be study both for i2c interfacing and NXT-G block preparation:
    http://www.extremenxt.com/tda8444.html
    finally the block from mindsensors' PCF8574-NX kit could be useful (I mean: look at the vi's):
    http://www.mindsensors.com/index.php?module=documents&JAS_DocumentManager_op=viewDocument&JAS_Document_id=37
    and maybe among the blocks they've prepared for their sensors:
    http://www.mindsensors.com/index.php?module=pagemaster&PAGE_user_op=view_page&PAGE_id=45&MMN_position=12:12
    you could learn something.
    I agree with you that the tutorial about building NXT-G blocks with Labview is too short;
    some lessons can be learnt from the NXT-G blocks done by others (spying the vi's they wrote): you find many of them in nxtasy.org repository.
    Some advanced techniques are reported in
    http://nxtasy.org/2007/04/12/advanced-nxt-g-block-techniques-part-iv/
    and other pages of nxtasy.org.

Maybe you are looking for